mvm                75 drivers/net/wireless/intel/iwlwifi/mvm/binding.c static int iwl_mvm_binding_cmd(struct iwl_mvm *mvm, u32 action,
mvm                86 drivers/net/wireless/intel/iwlwifi/mvm/binding.c 	if (fw_has_capa(&mvm->fw->ucode_capa,
mvm                90 drivers/net/wireless/intel/iwlwifi/mvm/binding.c 		    !iwl_mvm_is_cdb_supported(mvm))
mvm               111 drivers/net/wireless/intel/iwlwifi/mvm/binding.c 	ret = iwl_mvm_send_cmd_pdu_status(mvm, BINDING_CONTEXT_CMD,
mvm               114 drivers/net/wireless/intel/iwlwifi/mvm/binding.c 		IWL_ERR(mvm, "Failed to send binding (action:%d): %d\n",
mvm               120 drivers/net/wireless/intel/iwlwifi/mvm/binding.c 		IWL_ERR(mvm, "Binding command failed: %u\n", status);
mvm               147 drivers/net/wireless/intel/iwlwifi/mvm/binding.c static int iwl_mvm_binding_update(struct iwl_mvm *mvm,
mvm               159 drivers/net/wireless/intel/iwlwifi/mvm/binding.c 	lockdep_assert_held(&mvm->mutex);
mvm               161 drivers/net/wireless/intel/iwlwifi/mvm/binding.c 	ieee80211_iterate_active_interfaces_atomic(mvm->hw,
mvm               186 drivers/net/wireless/intel/iwlwifi/mvm/binding.c 	return iwl_mvm_binding_cmd(mvm, action, &data);
mvm               189 drivers/net/wireless/intel/iwlwifi/mvm/binding.c int iwl_mvm_binding_add_vif(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
mvm               200 drivers/net/wireless/intel/iwlwifi/mvm/binding.c 	if (iwl_mvm_sf_update(mvm, vif, false))
mvm               203 drivers/net/wireless/intel/iwlwifi/mvm/binding.c 	return iwl_mvm_binding_update(mvm, vif, mvmvif->phy_ctxt, true);
mvm               206 drivers/net/wireless/intel/iwlwifi/mvm/binding.c int iwl_mvm_binding_remove_vif(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
mvm               214 drivers/net/wireless/intel/iwlwifi/mvm/binding.c 	ret = iwl_mvm_binding_update(mvm, vif, mvmvif->phy_ctxt, false);
mvm               217 drivers/net/wireless/intel/iwlwifi/mvm/binding.c 		if (iwl_mvm_sf_update(mvm, vif, true))
mvm               218 drivers/net/wireless/intel/iwlwifi/mvm/binding.c 			IWL_ERR(mvm, "Failed to update SF state\n");
mvm               147 drivers/net/wireless/intel/iwlwifi/mvm/coex.c iwl_get_coex_type(struct iwl_mvm *mvm, const struct ieee80211_vif *vif)
mvm               174 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	if (mvm->cfg->bt_shared_single_ant) {
mvm               180 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	primary_ch_phy_id = le32_to_cpu(mvm->last_bt_ci_cmd.primary_ch_phy_id);
mvm               182 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 		le32_to_cpu(mvm->last_bt_ci_cmd.secondary_ch_phy_id);
mvm               185 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 		ret = le32_to_cpu(mvm->last_bt_notif.primary_ch_lut);
mvm               187 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 		ret = le32_to_cpu(mvm->last_bt_notif.secondary_ch_lut);
mvm               195 drivers/net/wireless/intel/iwlwifi/mvm/coex.c int iwl_mvm_send_bt_init_conf(struct iwl_mvm *mvm)
mvm               200 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	lockdep_assert_held(&mvm->mutex);
mvm               202 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	if (unlikely(mvm->bt_force_ant_mode != BT_FORCE_ANT_DIS)) {
mvm               203 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 		switch (mvm->bt_force_ant_mode) {
mvm               226 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	if (iwl_mvm_is_mplut_supported(mvm))
mvm               232 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	memset(&mvm->last_bt_notif, 0, sizeof(mvm->last_bt_notif));
mvm               233 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	memset(&mvm->last_bt_ci_cmd, 0, sizeof(mvm->last_bt_ci_cmd));
mvm               235 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	return iwl_mvm_send_cmd_pdu(mvm, BT_CONFIG, 0, sizeof(bt_cmd), &bt_cmd);
mvm               238 drivers/net/wireless/intel/iwlwifi/mvm/coex.c static int iwl_mvm_bt_coex_reduced_txp(struct iwl_mvm *mvm, u8 sta_id,
mvm               245 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	mvmsta = iwl_mvm_sta_from_staid_protected(mvm, sta_id);
mvm               258 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	IWL_DEBUG_COEX(mvm, "%sable reduced Tx Power for sta %d\n",
mvm               264 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	return iwl_mvm_send_cmd_pdu(mvm, BT_COEX_UPDATE_REDUCED_TXP,
mvm               270 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	struct iwl_mvm *mvm;
mvm               279 drivers/net/wireless/intel/iwlwifi/mvm/coex.c void iwl_mvm_bt_coex_enable_rssi_event(struct iwl_mvm *mvm,
mvm               294 drivers/net/wireless/intel/iwlwifi/mvm/coex.c static void iwl_mvm_bt_coex_tcm_based_ci(struct iwl_mvm *mvm,
mvm               299 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	if (!time_after(now, mvm->bt_coex_last_tcm_ts + MVM_COEX_TCM_PERIOD))
mvm               302 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	mvm->bt_coex_last_tcm_ts = now;
mvm               322 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	struct iwl_mvm *mvm = data->mvm;
mvm               329 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	lockdep_assert_held(&mvm->mutex);
mvm               349 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 			iwl_mvm_update_smps(mvm, vif, IWL_MVM_SMPS_REQ_BT_COEX,
mvm               351 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 			iwl_mvm_bt_coex_reduced_txp(mvm, mvmvif->ap_sta_id,
mvm               353 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 			iwl_mvm_bt_coex_enable_rssi_event(mvm, vif, false, 0);
mvm               358 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	if (fw_has_capa(&mvm->fw->ucode_capa, IWL_UCODE_TLV_CAPA_COEX_SCHEMA_2))
mvm               374 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	    (mvm->last_bt_notif.rrc_status & BIT(mvmvif->phy_ctxt->id)))
mvm               377 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	IWL_DEBUG_COEX(data->mvm,
mvm               382 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 		iwl_mvm_update_smps(mvm, vif, IWL_MVM_SMPS_REQ_BT_COEX,
mvm               413 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 			data->primary_load = mvm->tcm.result.load[mvmvif->id];
mvm               415 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 			data->secondary_load = mvm->tcm.result.load[mvmvif->id];
mvm               430 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 		data->primary_load = mvm->tcm.result.load[mvmvif->id];
mvm               432 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 		data->secondary_load = mvm->tcm.result.load[mvmvif->id];
mvm               440 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	if (iwl_get_coex_type(mvm, vif) == BT_COEX_LOOSE_LUT ||
mvm               441 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	    mvm->cfg->bt_shared_single_ant || !vif->bss_conf.assoc ||
mvm               442 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	    le32_to_cpu(mvm->last_bt_notif.bt_activity_grading) == BT_OFF) {
mvm               443 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 		iwl_mvm_bt_coex_reduced_txp(mvm, mvmvif->ap_sta_id, false);
mvm               444 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 		iwl_mvm_bt_coex_enable_rssi_event(mvm, vif, false, 0);
mvm               455 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 		if (iwl_mvm_bt_coex_reduced_txp(mvm, mvmvif->ap_sta_id, true))
mvm               456 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 			IWL_ERR(mvm, "Couldn't send BT_CONFIG cmd\n");
mvm               458 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 		if (iwl_mvm_bt_coex_reduced_txp(mvm, mvmvif->ap_sta_id, false))
mvm               459 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 			IWL_ERR(mvm, "Couldn't send BT_CONFIG cmd\n");
mvm               463 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	iwl_mvm_bt_coex_enable_rssi_event(mvm, vif, true, ave_rssi);
mvm               466 drivers/net/wireless/intel/iwlwifi/mvm/coex.c static void iwl_mvm_bt_coex_notif_handle(struct iwl_mvm *mvm)
mvm               469 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 		.mvm = mvm,
mvm               470 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 		.notif = &mvm->last_bt_notif,
mvm               476 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	if (unlikely(mvm->bt_force_ant_mode != BT_FORCE_ANT_DIS))
mvm               481 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 					mvm->hw, IEEE80211_IFACE_ITER_NORMAL,
mvm               484 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	iwl_mvm_bt_coex_tcm_based_ci(mvm, &data);
mvm               535 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	if (memcmp(&cmd, &mvm->last_bt_ci_cmd, sizeof(cmd))) {
mvm               536 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 		if (iwl_mvm_send_cmd_pdu(mvm, BT_COEX_CI, 0,
mvm               538 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 			IWL_ERR(mvm, "Failed to send BT_CI cmd\n");
mvm               539 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 		memcpy(&mvm->last_bt_ci_cmd, &cmd, sizeof(cmd));
mvm               543 drivers/net/wireless/intel/iwlwifi/mvm/coex.c void iwl_mvm_rx_bt_coex_notif(struct iwl_mvm *mvm,
mvm               549 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	IWL_DEBUG_COEX(mvm, "BT Coex Notification received\n");
mvm               550 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	IWL_DEBUG_COEX(mvm, "\tBT ci compliance %d\n", notif->bt_ci_compliance);
mvm               551 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	IWL_DEBUG_COEX(mvm, "\tBT primary_ch_lut %d\n",
mvm               553 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	IWL_DEBUG_COEX(mvm, "\tBT secondary_ch_lut %d\n",
mvm               555 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	IWL_DEBUG_COEX(mvm, "\tBT activity grading %d\n",
mvm               559 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	memcpy(&mvm->last_bt_notif, notif, sizeof(mvm->last_bt_notif));
mvm               561 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	iwl_mvm_bt_coex_notif_handle(mvm);
mvm               564 drivers/net/wireless/intel/iwlwifi/mvm/coex.c void iwl_mvm_bt_rssi_event(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm               570 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	lockdep_assert_held(&mvm->mutex);
mvm               573 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	if (unlikely(mvm->bt_force_ant_mode != BT_FORCE_ANT_DIS))
mvm               584 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	if (le32_to_cpu(mvm->last_bt_notif.bt_activity_grading) == BT_OFF)
mvm               587 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	IWL_DEBUG_COEX(mvm, "RSSI for %pM is now %s\n", vif->bss_conf.bssid,
mvm               594 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	if (rssi_event == RSSI_EVENT_LOW || mvm->cfg->bt_shared_single_ant ||
mvm               595 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	    iwl_get_coex_type(mvm, vif) == BT_COEX_LOOSE_LUT)
mvm               596 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 		ret = iwl_mvm_bt_coex_reduced_txp(mvm, mvmvif->ap_sta_id,
mvm               599 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 		ret = iwl_mvm_bt_coex_reduced_txp(mvm, mvmvif->ap_sta_id, true);
mvm               602 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 		IWL_ERR(mvm, "couldn't send BT_CONFIG HCMD upon RSSI event\n");
mvm               608 drivers/net/wireless/intel/iwlwifi/mvm/coex.c u16 iwl_mvm_coex_agg_time_limit(struct iwl_mvm *mvm,
mvm               616 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	if (mvm->last_bt_notif.ttc_status & BIT(phy_ctxt->id))
mvm               619 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	if (le32_to_cpu(mvm->last_bt_notif.bt_activity_grading) <
mvm               623 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	lut_type = iwl_get_coex_type(mvm, mvmsta->vif);
mvm               632 drivers/net/wireless/intel/iwlwifi/mvm/coex.c bool iwl_mvm_bt_coex_is_mimo_allowed(struct iwl_mvm *mvm,
mvm               640 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	if (mvm->last_bt_notif.ttc_status & BIT(phy_ctxt->id))
mvm               643 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	if (le32_to_cpu(mvm->last_bt_notif.bt_activity_grading) <
mvm               654 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	lut_type = iwl_get_coex_type(mvm, mvmsta->vif);
mvm               658 drivers/net/wireless/intel/iwlwifi/mvm/coex.c bool iwl_mvm_bt_coex_is_ant_avail(struct iwl_mvm *mvm, u8 ant)
mvm               661 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	if (mvm->cfg->bt_shared_single_ant)
mvm               664 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	if (ant & mvm->cfg->non_shared_ant)
mvm               667 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	return le32_to_cpu(mvm->last_bt_notif.bt_activity_grading) <
mvm               671 drivers/net/wireless/intel/iwlwifi/mvm/coex.c bool iwl_mvm_bt_coex_is_shared_ant_avail(struct iwl_mvm *mvm)
mvm               674 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	if (mvm->cfg->bt_shared_single_ant)
mvm               677 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	return le32_to_cpu(mvm->last_bt_notif.bt_activity_grading) < BT_HIGH_TRAFFIC;
mvm               680 drivers/net/wireless/intel/iwlwifi/mvm/coex.c bool iwl_mvm_bt_coex_is_tpc_allowed(struct iwl_mvm *mvm,
mvm               683 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	u32 bt_activity = le32_to_cpu(mvm->last_bt_notif.bt_activity_grading);
mvm               691 drivers/net/wireless/intel/iwlwifi/mvm/coex.c u8 iwl_mvm_bt_coex_get_single_ant_msk(struct iwl_mvm *mvm, u8 enabled_ants)
mvm               693 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	if (fw_has_capa(&mvm->fw->ucode_capa, IWL_UCODE_TLV_CAPA_COEX_SCHEMA_2) &&
mvm               694 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	    (mvm->cfg->non_shared_ant & enabled_ants))
mvm               695 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 		return mvm->cfg->non_shared_ant;
mvm               700 drivers/net/wireless/intel/iwlwifi/mvm/coex.c u8 iwl_mvm_bt_coex_tx_prio(struct iwl_mvm *mvm, struct ieee80211_hdr *hdr,
mvm               704 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	bool mplut_enabled = iwl_mvm_is_mplut_supported(mvm);
mvm               709 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	if (unlikely(mvm->bt_tx_prio))
mvm               710 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 		return mvm->bt_tx_prio - 1;
mvm               738 drivers/net/wireless/intel/iwlwifi/mvm/coex.c void iwl_mvm_bt_coex_vif_change(struct iwl_mvm *mvm)
mvm               740 drivers/net/wireless/intel/iwlwifi/mvm/coex.c 	iwl_mvm_bt_coex_notif_handle(mvm);
mvm                80 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm                86 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	mutex_lock(&mvm->mutex);
mvm                94 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	mutex_unlock(&mvm->mutex);
mvm               174 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm               222 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 			mutex_lock(&mvm->mutex);
mvm               223 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 			ret = iwl_mvm_send_cmd_pdu(mvm, WEP_KEY, 0,
mvm               227 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 			mvm->ptk_ivlen = key->iv_len;
mvm               228 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 			mvm->ptk_icvlen = key->icv_len;
mvm               229 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 			mvm->gtk_ivlen = key->iv_len;
mvm               230 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 			mvm->gtk_icvlen = key->icv_len;
mvm               231 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 			mutex_unlock(&mvm->mutex);
mvm               323 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		if (sta && iwl_mvm_has_new_rx_api(mvm)) {
mvm               331 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 						lockdep_is_held(&mvm->mutex));
mvm               337 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 						mvm->trans->num_rx_queues);
mvm               363 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		mutex_lock(&mvm->mutex);
mvm               369 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 			mvm->ptk_ivlen = key->iv_len;
mvm               370 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 			mvm->ptk_icvlen = key->icv_len;
mvm               371 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 			ret = iwl_mvm_set_sta_key(mvm, vif, sta, key, 0);
mvm               379 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 			mvm->gtk_ivlen = key->iv_len;
mvm               380 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 			mvm->gtk_icvlen = key->icv_len;
mvm               381 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 			ret = iwl_mvm_set_sta_key(mvm, vif, sta, key, 1);
mvm               383 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		mutex_unlock(&mvm->mutex);
mvm               388 drivers/net/wireless/intel/iwlwifi/mvm/d3.c static int iwl_mvm_send_patterns_v1(struct iwl_mvm *mvm,
mvm               423 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	err = iwl_mvm_send_cmd(mvm, &cmd);
mvm               428 drivers/net/wireless/intel/iwlwifi/mvm/d3.c static int iwl_mvm_send_patterns(struct iwl_mvm *mvm,
mvm               467 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	err = iwl_mvm_send_cmd(mvm, &cmd);
mvm               472 drivers/net/wireless/intel/iwlwifi/mvm/d3.c static int iwl_mvm_d3_reprogram(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm               485 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	if (WARN_ON_ONCE(iwl_mvm_is_cdb_supported(mvm)))
mvm               503 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	ret = iwl_mvm_phy_ctxt_add(mvm, mvmvif->phy_ctxt, &chandef,
mvm               514 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	ret = iwl_mvm_mac_ctxt_add(mvm, vif);
mvm               532 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	ret = iwl_mvm_send_cmd_pdu_status(mvm, BINDING_CONTEXT_CMD,
mvm               536 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		IWL_ERR(mvm, "Failed to add binding: %d\n", ret);
mvm               541 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		IWL_ERR(mvm, "Binding command failed: %u\n", status);
mvm               545 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	ret = iwl_mvm_sta_send_to_fw(mvm, ap_sta, false, 0);
mvm               548 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	rcu_assign_pointer(mvm->fw_id_to_mac_id[mvmvif->ap_sta_id], ap_sta);
mvm               550 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	ret = iwl_mvm_mac_ctxt_changed(mvm, vif, false, NULL);
mvm               555 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	quota = iwl_mvm_quota_cmd_get_quota(mvm, &quota_cmd, 0);
mvm               563 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		quota = iwl_mvm_quota_cmd_get_quota(mvm, &quota_cmd, i);
mvm               567 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	ret = iwl_mvm_send_cmd_pdu(mvm, TIME_QUOTA_CMD, 0,
mvm               568 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 				   iwl_mvm_quota_cmd_size(mvm), &quota_cmd);
mvm               570 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		IWL_ERR(mvm, "Failed to send quota: %d\n", ret);
mvm               572 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	if (iwl_mvm_is_lar_supported(mvm) && iwl_mvm_init_fw_regd(mvm))
mvm               573 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		IWL_ERR(mvm, "Failed to initialize D3 LAR information\n");
mvm               578 drivers/net/wireless/intel/iwlwifi/mvm/d3.c static int iwl_mvm_get_last_nonqos_seq(struct iwl_mvm *mvm,
mvm               598 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	err = iwl_mvm_send_cmd(mvm, &cmd);
mvm               615 drivers/net/wireless/intel/iwlwifi/mvm/d3.c void iwl_mvm_set_last_nonqos_seq(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
mvm               632 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	if (iwl_mvm_send_cmd_pdu(mvm, NON_QOS_TX_COUNTER_CMD, 0,
mvm               634 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		IWL_ERR(mvm, "failed to set non-QoS seqno\n");
mvm               637 drivers/net/wireless/intel/iwlwifi/mvm/d3.c static int iwl_mvm_switch_to_d3(struct iwl_mvm *mvm)
mvm               639 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	iwl_mvm_scan_stop(mvm, IWL_MVM_SCAN_REGULAR, true);
mvm               641 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	iwl_mvm_stop_device(mvm);
mvm               652 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	set_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status);
mvm               655 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	memset(mvm->fw_key_table, 0, sizeof(mvm->fw_key_table));
mvm               657 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	mvm->ptk_ivlen = 0;
mvm               658 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	mvm->ptk_icvlen = 0;
mvm               659 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	mvm->ptk_ivlen = 0;
mvm               660 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	mvm->ptk_icvlen = 0;
mvm               662 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	return iwl_mvm_load_d3_fw(mvm);
mvm               666 drivers/net/wireless/intel/iwlwifi/mvm/d3.c iwl_mvm_get_wowlan_config(struct iwl_mvm *mvm,
mvm               683 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	ret = iwl_mvm_get_last_nonqos_seq(mvm, vif);
mvm               738 drivers/net/wireless/intel/iwlwifi/mvm/d3.c static int iwl_mvm_wowlan_config_key_params(struct iwl_mvm *mvm,
mvm               744 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	bool unified = fw_has_capa(&mvm->fw->ucode_capa,
mvm               771 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	ieee80211_iter_keys(mvm->hw, vif, iwl_mvm_wowlan_program_keys,
mvm               780 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		ret = iwl_mvm_send_cmd_pdu(mvm,
mvm               789 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	    !fw_has_api(&mvm->fw->ucode_capa,
mvm               791 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		ret = iwl_mvm_send_cmd_pdu(mvm,
mvm               810 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		ret = iwl_mvm_send_cmd_pdu(mvm,
mvm               824 drivers/net/wireless/intel/iwlwifi/mvm/d3.c iwl_mvm_wowlan_config(struct iwl_mvm *mvm,
mvm               831 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	bool unified_image = fw_has_capa(&mvm->fw->ucode_capa,
mvm               834 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	mvm->offload_tid = wowlan_config_cmd->offloading_tid;
mvm               837 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		ret = iwl_mvm_switch_to_d3(mvm);
mvm               841 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		ret = iwl_mvm_d3_reprogram(mvm, vif, ap_sta);
mvm               852 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		mutex_unlock(&mvm->mutex);
mvm               853 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		ret = iwl_mvm_wowlan_config_key_params(mvm, vif, CMD_ASYNC);
mvm               854 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		mutex_lock(&mvm->mutex);
mvm               859 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	ret = iwl_mvm_send_cmd_pdu(mvm, WOWLAN_CONFIGURATION, 0,
mvm               865 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	if (fw_has_api(&mvm->fw->ucode_capa,
mvm               867 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		ret = iwl_mvm_send_patterns(mvm, wowlan);
mvm               869 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		ret = iwl_mvm_send_patterns_v1(mvm, wowlan);
mvm               873 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	return iwl_mvm_send_proto_offload(mvm, vif, false, true, 0);
mvm               877 drivers/net/wireless/intel/iwlwifi/mvm/d3.c iwl_mvm_netdetect_config(struct iwl_mvm *mvm,
mvm               884 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	bool unified_image = fw_has_capa(&mvm->fw->ucode_capa,
mvm               888 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		ret = iwl_mvm_switch_to_d3(mvm);
mvm               897 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		ret = iwl_mvm_scan_stop(mvm, IWL_MVM_SCAN_SCHED, true);
mvm               907 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	wowlan_config_cmd.sta_id = mvm->aux_sta.sta_id;
mvm               909 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	ret = iwl_mvm_send_cmd_pdu(mvm, WOWLAN_CONFIGURATION, 0,
mvm               915 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	ret = iwl_mvm_sched_scan_start(mvm, vif, nd_config, &mvm->nd_ies,
mvm               920 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	if (WARN_ON(mvm->nd_match_sets || mvm->nd_channels))
mvm               925 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		mvm->nd_match_sets = kmemdup(nd_config->match_sets,
mvm               929 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		if (mvm->nd_match_sets)
mvm               930 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 			mvm->n_nd_match_sets = nd_config->n_match_sets;
mvm               934 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	mvm->nd_channels = kmemdup(nd_config->channels,
mvm               938 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	if (mvm->nd_channels)
mvm               939 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		mvm->n_nd_channels = nd_config->n_channels;
mvm               944 drivers/net/wireless/intel/iwlwifi/mvm/d3.c static void iwl_mvm_free_nd(struct iwl_mvm *mvm)
mvm               946 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	kfree(mvm->nd_match_sets);
mvm               947 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	mvm->nd_match_sets = NULL;
mvm               948 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	mvm->n_nd_match_sets = 0;
mvm               949 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	kfree(mvm->nd_channels);
mvm               950 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	mvm->nd_channels = NULL;
mvm               951 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	mvm->n_nd_channels = 0;
mvm               958 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm               978 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	bool unified_image = fw_has_capa(&mvm->fw->ucode_capa,
mvm               990 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	mutex_lock(&mvm->mutex);
mvm               992 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	vif = iwl_mvm_get_bss_vif(mvm);
mvm              1008 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 			mvm, wowlan, wowlan->nd_config, vif);
mvm              1012 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		mvm->net_detect = true;
mvm              1019 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 			mvm->fw_id_to_mac_id[mvmvif->ap_sta_id],
mvm              1020 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 			lockdep_is_held(&mvm->mutex));
mvm              1026 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		ret = iwl_mvm_get_wowlan_config(mvm, wowlan, &wowlan_config_cmd,
mvm              1030 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		ret = iwl_mvm_wowlan_config(mvm, wowlan, &wowlan_config_cmd,
mvm              1035 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		mvm->net_detect = false;
mvm              1038 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	ret = iwl_mvm_power_update_device(mvm);
mvm              1042 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	ret = iwl_mvm_power_update_mac(mvm);
mvm              1047 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	if (mvm->d3_wake_sysassert)
mvm              1057 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	if (mvm->trans->trans_cfg->device_family < IWL_DEVICE_FAMILY_9000)
mvm              1058 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		iwl_fw_dbg_stop_restart_recording(&mvm->fwrt, NULL, true);
mvm              1061 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	ret = iwl_mvm_send_cmd(mvm, &d3_cfg_cmd);
mvm              1067 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		mvm->d3_test_pme_ptr =
mvm              1073 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	clear_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status);
mvm              1075 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	ret = iwl_trans_d3_suspend(mvm->trans, test, !unified_image);
mvm              1078 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		iwl_mvm_free_nd(mvm);
mvm              1081 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 			if (mvm->fw_restart > 0) {
mvm              1082 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 				mvm->fw_restart--;
mvm              1083 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 				ieee80211_restart_hw(mvm->hw);
mvm              1088 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	mutex_unlock(&mvm->mutex);
mvm              1095 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              1096 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	struct iwl_trans *trans = mvm->trans;
mvm              1099 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	iwl_mvm_pause_tcm(mvm, true);
mvm              1101 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	iwl_fw_runtime_suspend(&mvm->fwrt);
mvm              1122 drivers/net/wireless/intel/iwlwifi/mvm/d3.c static void iwl_mvm_report_wakeup_reasons(struct iwl_mvm *mvm,
mvm              1138 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	pm_wakeup_event(mvm->dev, 0);
mvm              1203 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 					ivlen = mvm->gtk_ivlen;
mvm              1204 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 					icvlen += mvm->gtk_icvlen;
mvm              1206 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 					ivlen = mvm->ptk_ivlen;
mvm              1207 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 					icvlen += mvm->ptk_icvlen;
mvm              1275 drivers/net/wireless/intel/iwlwifi/mvm/d3.c static void iwl_mvm_set_aes_rx_seq(struct iwl_mvm *mvm, struct aes_sc *scs,
mvm              1283 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	if (sta && iwl_mvm_has_new_rx_api(mvm)) {
mvm              1290 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 						   lockdep_is_held(&mvm->mutex));
mvm              1300 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 			for (i = 1; i < mvm->trans->num_rx_queues; i++)
mvm              1329 drivers/net/wireless/intel/iwlwifi/mvm/d3.c static void iwl_mvm_set_key_rx_seq(struct iwl_mvm *mvm,
mvm              1337 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		iwl_mvm_set_aes_rx_seq(mvm, rsc->aes.multicast_rsc, NULL, key);
mvm              1348 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	struct iwl_mvm *mvm;
mvm              1398 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 			iwl_mvm_set_aes_rx_seq(data->mvm, sc->aes.unicast_rsc,
mvm              1424 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		iwl_mvm_set_key_rx_seq(data->mvm, key, data->status);
mvm              1427 drivers/net/wireless/intel/iwlwifi/mvm/d3.c static bool iwl_mvm_setup_connection_keep(struct iwl_mvm *mvm,
mvm              1433 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		.mvm = mvm,
mvm              1448 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	ieee80211_iter_keys(mvm->hw, vif,
mvm              1463 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	ieee80211_iter_keys(mvm->hw, vif,
mvm              1497 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		iwl_mvm_set_key_rx_seq(mvm, key, status);
mvm              1514 drivers/net/wireless/intel/iwlwifi/mvm/d3.c struct iwl_wowlan_status *iwl_mvm_send_wowlan_get_status(struct iwl_mvm *mvm)
mvm              1523 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	lockdep_assert_held(&mvm->mutex);
mvm              1525 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	ret = iwl_mvm_send_cmd(mvm, &cmd);
mvm              1527 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		IWL_ERR(mvm, "failed to query wakeup status (%d)\n", ret);
mvm              1531 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	if (!fw_has_api(&mvm->fw->ucode_capa,
mvm              1540 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 			IWL_ERR(mvm, "Invalid WoWLAN status response!\n");
mvm              1548 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 			IWL_ERR(mvm, "Invalid WoWLAN status response!\n");
mvm              1596 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		IWL_ERR(mvm, "Invalid WoWLAN status response!\n");
mvm              1603 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		IWL_ERR(mvm, "Invalid WoWLAN status response!\n");
mvm              1616 drivers/net/wireless/intel/iwlwifi/mvm/d3.c iwl_mvm_get_wakeup_status(struct iwl_mvm *mvm)
mvm              1621 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	ret = iwl_mvm_send_cmd_pdu(mvm, OFFLOADS_QUERY_CMD, 0, 0, NULL);
mvm              1623 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		IWL_ERR(mvm, "failed to query offload statistics (%d)\n", ret);
mvm              1625 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	return iwl_mvm_send_wowlan_get_status(mvm);
mvm              1629 drivers/net/wireless/intel/iwlwifi/mvm/d3.c static bool iwl_mvm_query_wakeup_reasons(struct iwl_mvm *mvm,
mvm              1638 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	fw_status = iwl_mvm_get_wakeup_status(mvm);
mvm              1654 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	mvm_ap_sta = iwl_mvm_sta_from_staid_protected(mvm, 0);
mvm              1665 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	if (mvm->trans->trans_cfg->device_family >= IWL_DEVICE_FAMILY_22000) {
mvm              1666 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		i = mvm->offload_tid;
mvm              1667 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		iwl_trans_set_q_ptrs(mvm->trans,
mvm              1673 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	mutex_unlock(&mvm->mutex);
mvm              1675 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	iwl_mvm_report_wakeup_reasons(mvm, vif, &status);
mvm              1677 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	keep = iwl_mvm_setup_connection_keep(mvm, vif, fw_status);
mvm              1685 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	mutex_unlock(&mvm->mutex);
mvm              1698 drivers/net/wireless/intel/iwlwifi/mvm/d3.c iwl_mvm_netdetect_query_results(struct iwl_mvm *mvm,
mvm              1709 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	ret = iwl_mvm_send_cmd(mvm, &cmd);
mvm              1711 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		IWL_ERR(mvm, "failed to query matched profiles (%d)\n", ret);
mvm              1715 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	if (fw_has_api(&mvm->fw->ucode_capa,
mvm              1728 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		IWL_ERR(mvm, "Invalid scan offload profiles query response!\n");
mvm              1739 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	mvm->last_netdetect_scans = le32_to_cpu(query->n_scans_done);
mvm              1747 drivers/net/wireless/intel/iwlwifi/mvm/d3.c static int iwl_mvm_query_num_match_chans(struct iwl_mvm *mvm,
mvm              1753 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	if (fw_has_api(&mvm->fw->ucode_capa,
mvm              1771 drivers/net/wireless/intel/iwlwifi/mvm/d3.c static void iwl_mvm_query_set_freqs(struct iwl_mvm *mvm,
mvm              1778 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	if (fw_has_api(&mvm->fw->ucode_capa,
mvm              1786 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 					mvm->nd_channels[i]->center_freq;
mvm              1794 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 					mvm->nd_channels[i]->center_freq;
mvm              1798 drivers/net/wireless/intel/iwlwifi/mvm/d3.c static void iwl_mvm_query_netdetect_reasons(struct iwl_mvm *mvm,
mvm              1812 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	fw_status = iwl_mvm_get_wakeup_status(mvm);
mvm              1824 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	ret = iwl_mvm_netdetect_query_results(mvm, &query);
mvm              1831 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	if (mvm->n_nd_match_sets) {
mvm              1834 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		IWL_ERR(mvm, "no net detect match information available\n");
mvm              1843 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	for_each_set_bit(i, &matched_profiles, mvm->n_nd_match_sets) {
mvm              1847 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		n_channels = iwl_mvm_query_num_match_chans(mvm, &query, i);
mvm              1859 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		idx = mvm->n_nd_match_sets - i - 1;
mvm              1860 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		match->ssid.ssid_len = mvm->nd_match_sets[idx].ssid.ssid_len;
mvm              1861 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		memcpy(match->ssid.ssid, mvm->nd_match_sets[idx].ssid.ssid,
mvm              1864 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		if (mvm->n_nd_channels < n_channels)
mvm              1867 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		iwl_mvm_query_set_freqs(mvm, &query, match, i);
mvm              1873 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	iwl_mvm_free_nd(mvm);
mvm              1875 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	mutex_unlock(&mvm->mutex);
mvm              1896 drivers/net/wireless/intel/iwlwifi/mvm/d3.c static int iwl_mvm_check_rt_status(struct iwl_mvm *mvm,
mvm              1899 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	u32 base = mvm->trans->dbg.lmac_error_event_table[0];
mvm              1906 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	iwl_trans_read_mem_bytes(mvm->trans, base,
mvm              1919 drivers/net/wireless/intel/iwlwifi/mvm/d3.c static int __iwl_mvm_resume(struct iwl_mvm *mvm, bool test)
mvm              1925 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	bool unified_image = fw_has_capa(&mvm->fw->ucode_capa,
mvm              1927 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	bool d0i3_first = fw_has_capa(&mvm->fw->ucode_capa,
mvm              1930 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	mutex_lock(&mvm->mutex);
mvm              1933 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	vif = iwl_mvm_get_bss_vif(mvm);
mvm              1937 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	iwl_fw_dbg_read_d3_debug_data(&mvm->fwrt);
mvm              1939 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	if (iwl_mvm_check_rt_status(mvm, vif)) {
mvm              1940 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		set_bit(STATUS_FW_ERROR, &mvm->trans->status);
mvm              1941 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		iwl_mvm_dump_nic_error_log(mvm);
mvm              1942 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		iwl_fw_dbg_collect_desc(&mvm->fwrt, &iwl_dump_desc_assert,
mvm              1948 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	ret = iwl_trans_d3_resume(mvm->trans, &d3_status, test, !unified_image);
mvm              1953 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		IWL_INFO(mvm, "Device was reset during suspend\n");
mvm              1958 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		ret = iwl_mvm_send_cmd_pdu(mvm, D0I3_END_CMD, 0, 0, NULL);
mvm              1960 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 			IWL_ERR(mvm, "Failed to send D0I3_END_CMD first (%d)\n",
mvm              1970 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	iwl_mvm_update_changed_regdom(mvm);
mvm              1973 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	iwl_mvm_ppag_send_cmd(mvm);
mvm              1977 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		iwl_mvm_sar_select_profile(mvm, 1, 1);
mvm              1979 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	if (mvm->net_detect) {
mvm              1987 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 			ret = iwl_mvm_scan_stop(mvm, IWL_MVM_SCAN_NETDETECT,
mvm              1990 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		iwl_mvm_query_netdetect_reasons(mvm, vif);
mvm              1994 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		keep = iwl_mvm_query_wakeup_reasons(mvm, vif);
mvm              1997 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 			mvm->keep_vif = vif;
mvm              2004 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	iwl_mvm_free_nd(mvm);
mvm              2005 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	mutex_unlock(&mvm->mutex);
mvm              2009 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		ieee80211_iterate_active_interfaces_rtnl(mvm->hw,
mvm              2020 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		ret = iwl_mvm_send_cmd_pdu(mvm, D0I3_END_CMD, 0, 0, NULL);
mvm              2030 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	set_bit(IWL_MVM_STATUS_HW_RESTART_REQUESTED, &mvm->status);
mvm              2035 drivers/net/wireless/intel/iwlwifi/mvm/d3.c static int iwl_mvm_resume_d3(struct iwl_mvm *mvm)
mvm              2037 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	iwl_trans_resume(mvm->trans);
mvm              2039 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	return __iwl_mvm_resume(mvm, false);
mvm              2044 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              2047 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	ret = iwl_mvm_resume_d3(mvm);
mvm              2049 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	mvm->trans->system_pm_mode = IWL_PLAT_PM_MODE_DISABLED;
mvm              2051 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	iwl_mvm_resume_tcm(mvm);
mvm              2053 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	iwl_fw_runtime_resume(&mvm->fwrt);
mvm              2060 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              2062 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	device_set_wakeup_enable(mvm->trans->dev, enabled);
mvm              2068 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	struct iwl_mvm *mvm = inode->i_private;
mvm              2071 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	if (mvm->d3_test_active)
mvm              2078 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	mvm->trans->system_pm_mode = IWL_PLAT_PM_MODE_D3;
mvm              2080 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	iwl_mvm_pause_tcm(mvm, true);
mvm              2082 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	iwl_fw_runtime_suspend(&mvm->fwrt);
mvm              2086 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	err = __iwl_mvm_suspend(mvm->hw, mvm->hw->wiphy->wowlan_config, true);
mvm              2093 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	mvm->d3_test_active = true;
mvm              2094 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	mvm->keep_vif = NULL;
mvm              2101 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	struct iwl_mvm *mvm = file->private_data;
mvm              2106 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		if (mvm->d3_test_pme_ptr) {
mvm              2107 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 			pme_asserted = iwl_trans_read_mem32(mvm->trans,
mvm              2108 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 						mvm->d3_test_pme_ptr);
mvm              2133 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	struct iwl_mvm *mvm = inode->i_private;
mvm              2134 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	bool unified_image = fw_has_capa(&mvm->fw->ucode_capa,
mvm              2137 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	mvm->d3_test_active = false;
mvm              2139 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	iwl_fw_dbg_read_d3_debug_data(&mvm->fwrt);
mvm              2142 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	__iwl_mvm_resume(mvm, true);
mvm              2145 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	iwl_mvm_resume_tcm(mvm);
mvm              2147 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	iwl_fw_runtime_resume(&mvm->fwrt);
mvm              2149 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	mvm->trans->system_pm_mode = IWL_PLAT_PM_MODE_DISABLED;
mvm              2151 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 	iwl_abort_notification_waits(&mvm->notif_wait);
mvm              2155 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		ieee80211_restart_hw(mvm->hw);
mvm              2158 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		while (test_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status) &&
mvm              2165 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 			IWL_ERR(mvm, "Timed out waiting for HW restart!\n");
mvm              2169 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		mvm->hw, IEEE80211_IFACE_ITER_NORMAL,
mvm              2170 drivers/net/wireless/intel/iwlwifi/mvm/d3.c 		iwl_mvm_d3_test_disconn_work_iter, mvm->keep_vif);
mvm                65 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c static void iwl_dbgfs_update_pm(struct iwl_mvm *mvm,
mvm                79 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 		IWL_DEBUG_POWER(mvm, "debugfs: set keep_alive= %d sec\n", val);
mvm                81 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 			IWL_WARN(mvm,
mvm                88 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 		IWL_DEBUG_POWER(mvm, "skip_over_dtim %s\n",
mvm                93 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 		IWL_DEBUG_POWER(mvm, "skip_dtim_periods=%d\n", val);
mvm                97 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 		IWL_DEBUG_POWER(mvm, "rx_data_timeout=%d\n", val);
mvm               101 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 		IWL_DEBUG_POWER(mvm, "tx_data_timeout=%d\n", val);
mvm               105 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 		IWL_DEBUG_POWER(mvm, "lprx %s\n", val ? "enabled" : "disabled");
mvm               109 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 		IWL_DEBUG_POWER(mvm, "lprx_rssi_threshold=%d\n", val);
mvm               113 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 		IWL_DEBUG_POWER(mvm, "snooze_enable=%d\n", val);
mvm               117 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 		IWL_DEBUG_POWER(mvm, "uapsd_misbehaving_enable=%d\n", val);
mvm               121 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 		IWL_DEBUG_POWER(mvm, "use_ps_poll=%d\n", val);
mvm               131 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 	struct iwl_mvm *mvm = mvmvif->mvm;
mvm               182 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 	mutex_lock(&mvm->mutex);
mvm               183 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 	iwl_dbgfs_update_pm(mvm, vif, param, val);
mvm               184 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 	ret = iwl_mvm_power_update_mac(mvm);
mvm               185 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 	mutex_unlock(&mvm->mutex);
mvm               211 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 	struct iwl_mvm *mvm = mvmvif->mvm;
mvm               216 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 	pos = iwl_mvm_power_mac_dbgfs_read(mvm, vif, buf, bufsz);
mvm               227 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 	struct iwl_mvm *mvm = mvmvif->mvm;
mvm               235 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 	mutex_lock(&mvm->mutex);
mvm               267 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 			 mvm->tcm.result.load[mvmvif->id]);
mvm               282 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 		mvm_sta = iwl_mvm_sta_from_staid_protected(mvm, ap_sta_id);
mvm               300 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 	mutex_unlock(&mvm->mutex);
mvm               354 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 	struct iwl_mvm *mvm = mvmvif->mvm;
mvm               436 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 	mutex_lock(&mvm->mutex);
mvm               439 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 		ret = iwl_mvm_disable_beacon_filter(mvm, vif, 0);
mvm               441 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 		ret = iwl_mvm_enable_beacon_filter(mvm, vif, 0);
mvm               442 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 	mutex_unlock(&mvm->mutex);
mvm               509 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 	struct iwl_mvm *mvm = mvmvif->mvm;
mvm               517 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 	iwl_mvm_get_sync_time(mvm, &curr_gp2, &curr_os);
mvm               529 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 	struct iwl_mvm *mvm = mvmvif->mvm;
mvm               539 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 	mutex_lock(&mvm->mutex);
mvm               540 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 	iwl_mvm_update_low_latency(mvm, vif, value, LOW_LATENCY_DEBUGFS);
mvm               541 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 	mutex_unlock(&mvm->mutex);
mvm               551 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 	struct iwl_mvm *mvm = mvmvif->mvm;
mvm               562 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 	mutex_lock(&mvm->mutex);
mvm               564 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 		iwl_mvm_update_low_latency(mvm, vif, false,
mvm               566 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 		iwl_mvm_update_low_latency(mvm, vif, false,
mvm               569 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 		iwl_mvm_update_low_latency(mvm, vif,
mvm               572 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 		iwl_mvm_update_low_latency(mvm, vif, true,
mvm               575 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 	mutex_unlock(&mvm->mutex);
mvm               625 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 	struct iwl_mvm *mvm = mvmvif->mvm;
mvm               628 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 	mutex_lock(&mvm->mutex);
mvm               630 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 	mutex_unlock(&mvm->mutex);
mvm               639 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 	struct iwl_mvm *mvm = mvmvif->mvm;
mvm               649 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 	mutex_lock(&mvm->mutex);
mvm               656 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 		mutex_unlock(&mvm->mutex);
mvm               660 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 	phy_ctxt = &mvm->phy_ctxts[*(u16 *)chanctx_conf->drv_priv];
mvm               663 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 	mvm->dbgfs_rx_phyinfo = value;
mvm               665 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 	ret = iwl_mvm_phy_ctxt_changed(mvm, phy_ctxt, &chanctx_conf->min_def,
mvm               668 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 	mutex_unlock(&mvm->mutex);
mvm               683 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 			mvmvif->mvm->dbgfs_rx_phyinfo);
mvm               702 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 	struct iwl_mvm *mvm = mvmvif->mvm;
mvm               713 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 	mutex_lock(&mvm->mutex);
mvm               716 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 	ieee80211_iterate_interfaces(mvm->hw, IEEE80211_IFACE_ITER_NORMAL,
mvm               720 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 		iwl_mvm_update_quotas(mvm, false, NULL);
mvm               722 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 	mutex_unlock(&mvm->mutex);
mvm               762 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c void iwl_mvm_vif_dbgfs_register(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
mvm               777 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 		IWL_ERR(mvm, "Failed to create debugfs directory under %pd\n",
mvm               797 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 	    mvmvif == mvm->bf_allowed_vif)
mvm               812 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c 						     mvm->debugfs_dir, buf);
mvm               815 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c void iwl_mvm_vif_dbgfs_clean(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
mvm                79 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	struct iwl_mvm *mvm = file->private_data;
mvm                83 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (!iwl_mvm_is_ctdp_supported(mvm))
mvm                86 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (!iwl_mvm_firmware_running(mvm) ||
mvm                87 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	    mvm->fwrt.cur_fw_img != IWL_UCODE_REGULAR)
mvm                90 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_lock(&mvm->mutex);
mvm                91 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	budget = iwl_mvm_ctdp_command(mvm, CTDP_CMD_OPERATION_REPORT, 0);
mvm                92 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_unlock(&mvm->mutex);
mvm               102 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c static ssize_t iwl_dbgfs_stop_ctdp_write(struct iwl_mvm *mvm, char *buf,
mvm               107 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (!iwl_mvm_is_ctdp_supported(mvm))
mvm               110 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (!iwl_mvm_firmware_running(mvm) ||
mvm               111 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	    mvm->fwrt.cur_fw_img != IWL_UCODE_REGULAR)
mvm               114 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_lock(&mvm->mutex);
mvm               115 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	ret = iwl_mvm_ctdp_command(mvm, CTDP_CMD_OPERATION_STOP, 0);
mvm               116 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_unlock(&mvm->mutex);
mvm               121 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c static ssize_t iwl_dbgfs_force_ctkill_write(struct iwl_mvm *mvm, char *buf,
mvm               124 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (!iwl_mvm_firmware_running(mvm) ||
mvm               125 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	    mvm->fwrt.cur_fw_img != IWL_UCODE_REGULAR)
mvm               128 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	iwl_mvm_enter_ctkill(mvm);
mvm               133 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c static ssize_t iwl_dbgfs_tx_flush_write(struct iwl_mvm *mvm, char *buf,
mvm               139 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (!iwl_mvm_firmware_running(mvm) ||
mvm               140 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	    mvm->fwrt.cur_fw_img != IWL_UCODE_REGULAR)
mvm               146 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (iwl_mvm_has_new_tx_api(mvm)) {
mvm               147 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		IWL_DEBUG_TX_QUEUES(mvm,
mvm               150 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		mutex_lock(&mvm->mutex);
mvm               151 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		ret = iwl_mvm_flush_sta_tids(mvm, flush_arg, 0xFF, 0) ? : count;
mvm               152 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		mutex_unlock(&mvm->mutex);
mvm               156 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	IWL_DEBUG_TX_QUEUES(mvm, "FLUSHING queues mask to flush = 0x%x\n",
mvm               159 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_lock(&mvm->mutex);
mvm               160 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	ret =  iwl_mvm_flush_tx_path(mvm, flush_arg, 0) ? : count;
mvm               161 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_unlock(&mvm->mutex);
mvm               166 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c static ssize_t iwl_dbgfs_sta_drain_write(struct iwl_mvm *mvm, char *buf,
mvm               172 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (!iwl_mvm_firmware_running(mvm) ||
mvm               173 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	    mvm->fwrt.cur_fw_img != IWL_UCODE_REGULAR)
mvm               183 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_lock(&mvm->mutex);
mvm               185 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mvmsta = iwl_mvm_sta_from_staid_protected(mvm, sta_id);
mvm               190 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		ret = iwl_mvm_drain_sta(mvm, mvmsta, drain) ? : count;
mvm               192 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_unlock(&mvm->mutex);
mvm               200 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	struct iwl_mvm *mvm = file->private_data;
mvm               206 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (!iwl_mvm_firmware_running(mvm))
mvm               210 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	img = &mvm->fw->img[mvm->fwrt.cur_fw_img];
mvm               214 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (mvm->dbgfs_sram_len) {
mvm               215 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		ofs = mvm->dbgfs_sram_offset;
mvm               216 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		len = mvm->dbgfs_sram_len;
mvm               223 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	iwl_trans_read_mem_bytes(mvm->trans, ofs, ptr, len);
mvm               232 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c static ssize_t iwl_dbgfs_sram_write(struct iwl_mvm *mvm, char *buf,
mvm               239 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (!iwl_mvm_firmware_running(mvm))
mvm               242 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	img = &mvm->fw->img[mvm->fwrt.cur_fw_img];
mvm               253 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		mvm->dbgfs_sram_offset = offset;
mvm               254 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		mvm->dbgfs_sram_len = len;
mvm               256 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		mvm->dbgfs_sram_offset = 0;
mvm               257 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		mvm->dbgfs_sram_len = 0;
mvm               267 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	struct iwl_mvm *mvm = file->private_data;
mvm               271 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (!mvm->temperature_test)
mvm               274 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		pos = scnprintf(buf , sizeof(buf), "%d\n", mvm->temperature);
mvm               286 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c static ssize_t iwl_dbgfs_set_nic_temperature_write(struct iwl_mvm *mvm,
mvm               292 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (!iwl_mvm_firmware_running(mvm) && !mvm->temperature_test)
mvm               303 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_lock(&mvm->mutex);
mvm               305 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		if (!mvm->temperature_test)
mvm               308 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		mvm->temperature_test = false;
mvm               313 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		mvm->temperature = 0;
mvm               315 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		mvm->temperature_test = true;
mvm               316 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		mvm->temperature = temperature;
mvm               318 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	IWL_DEBUG_TEMP(mvm, "%sabling debug set temperature (temp = %d)\n",
mvm               319 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		       mvm->temperature_test ? "En" : "Dis" ,
mvm               320 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		       mvm->temperature);
mvm               322 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	iwl_mvm_tt_handler(mvm);
mvm               325 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_unlock(&mvm->mutex);
mvm               334 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	struct iwl_mvm *mvm = file->private_data;
mvm               339 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (!iwl_mvm_firmware_running(mvm))
mvm               342 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_lock(&mvm->mutex);
mvm               343 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	ret = iwl_mvm_get_temp(mvm, &temp);
mvm               344 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_unlock(&mvm->mutex);
mvm               359 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	struct iwl_mvm *mvm = file->private_data;
mvm               366 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (!iwl_mvm_firmware_running(mvm))
mvm               369 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_lock(&mvm->mutex);
mvm               370 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	tbl_idx = iwl_mvm_get_sar_geo_profile(mvm);
mvm               372 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		mutex_unlock(&mvm->mutex);
mvm               380 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		value = &mvm->geo_profiles[tbl_idx - 1].values[0];
mvm               391 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_unlock(&mvm->mutex);
mvm               400 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	struct iwl_mvm *mvm = file->private_data;
mvm               405 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_lock(&mvm->mutex);
mvm               407 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	for (i = 0; i < ARRAY_SIZE(mvm->fw_id_to_mac_id); i++) {
mvm               409 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		sta = rcu_dereference_protected(mvm->fw_id_to_mac_id[i],
mvm               410 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 						lockdep_is_held(&mvm->mutex));
mvm               421 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_unlock(&mvm->mutex);
mvm               432 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	struct iwl_mvm *mvm = lq_sta->pers.drv;
mvm               442 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_lock(&mvm->mutex);
mvm               454 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		(iwl_mvm_get_valid_tx_ant(mvm) & ANT_A) ? "ANT_A," : "",
mvm               455 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		(iwl_mvm_get_valid_tx_ant(mvm) & ANT_B) ? "ANT_B," : "",
mvm               456 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		(iwl_mvm_get_valid_tx_ant(mvm) & ANT_C) ? "ANT_C" : "");
mvm               463 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_unlock(&mvm->mutex);
mvm               514 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	struct iwl_mvm *mvm = file->private_data;
mvm               520 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 			 mvm->disable_power_off);
mvm               522 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 			 mvm->disable_power_off_d3);
mvm               527 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c static ssize_t iwl_dbgfs_disable_power_off_write(struct iwl_mvm *mvm, char *buf,
mvm               532 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (!iwl_mvm_firmware_running(mvm))
mvm               538 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		mvm->disable_power_off = val;
mvm               542 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		mvm->disable_power_off_d3 = val;
mvm               547 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_lock(&mvm->mutex);
mvm               548 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	ret = iwl_mvm_power_update_device(mvm);
mvm               549 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_unlock(&mvm->mutex);
mvm               617 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	struct iwl_mvm *mvm = file->private_data;
mvm               618 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	struct iwl_bt_coex_profile_notif *notif = &mvm->last_bt_notif;
mvm               626 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_lock(&mvm->mutex);
mvm               649 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_unlock(&mvm->mutex);
mvm               661 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	struct iwl_mvm *mvm = file->private_data;
mvm               662 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	struct iwl_bt_coex_ci_cmd *cmd = &mvm->last_bt_ci_cmd;
mvm               667 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_lock(&mvm->mutex);
mvm               677 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_unlock(&mvm->mutex);
mvm               683 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c iwl_dbgfs_bt_tx_prio_write(struct iwl_mvm *mvm, char *buf,
mvm               693 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mvm->bt_tx_prio = bt_tx_prio;
mvm               699 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c iwl_dbgfs_bt_force_ant_write(struct iwl_mvm *mvm, char *buf,
mvm               716 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_lock(&mvm->mutex);
mvm               717 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (mvm->bt_force_ant_mode == bt_force_ant_mode)
mvm               720 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mvm->bt_force_ant_mode = bt_force_ant_mode;
mvm               721 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	IWL_DEBUG_COEX(mvm, "Force mode: %s\n",
mvm               722 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		       modes_str[mvm->bt_force_ant_mode]);
mvm               724 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (iwl_mvm_firmware_running(mvm))
mvm               725 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		ret = iwl_mvm_send_bt_init_conf(mvm);
mvm               730 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_unlock(&mvm->mutex);
mvm               737 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	struct iwl_mvm *mvm = file->private_data;
mvm               750 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 			 mvm->trans->cfg->fw_name_pre);
mvm               752 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 			 mvm->fwrt.fw->human_readable);
mvm               754 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 			 mvm->fwrt.trans->cfg->name);
mvm               756 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 			 mvm->fwrt.dev->bus->name);
mvm               773 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	struct iwl_mvm *mvm = file->private_data;
mvm               781 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (iwl_mvm_has_new_rx_stats_api(mvm))
mvm               793 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_lock(&mvm->mutex);
mvm               795 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (iwl_mvm_firmware_running(mvm))
mvm               796 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		iwl_mvm_request_statistics(mvm, false);
mvm               800 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (!iwl_mvm_has_new_rx_stats_api(mvm)) {
mvm               801 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		struct mvm_statistics_rx_phy_v2 *ofdm = &mvm->rx_stats_v3.ofdm;
mvm               824 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		struct mvm_statistics_rx_phy *ofdm = &mvm->rx_stats.ofdm;
mvm               835 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (!iwl_mvm_has_new_rx_stats_api(mvm)) {
mvm               836 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		struct mvm_statistics_rx_phy_v2 *cck = &mvm->rx_stats_v3.cck;
mvm               859 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		struct mvm_statistics_rx_phy *cck = &mvm->rx_stats.cck;
mvm               870 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (!iwl_mvm_has_new_rx_stats_api(mvm)) {
mvm               872 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 			&mvm->rx_stats_v3.general;
mvm               900 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 			&mvm->rx_stats.general;
mvm               926 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (!iwl_mvm_has_new_rx_stats_api(mvm)) {
mvm               928 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 			&mvm->rx_stats_v3.ofdm_ht;
mvm               942 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 			&mvm->rx_stats.ofdm_ht;
mvm               950 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_unlock(&mvm->mutex);
mvm               959 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c static ssize_t iwl_dbgfs_frame_stats_read(struct iwl_mvm *mvm,
mvm               973 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	spin_lock_bh(&mvm->drv_stats_lock);
mvm              1016 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	spin_unlock_bh(&mvm->drv_stats_lock);
mvm              1028 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	struct iwl_mvm *mvm = file->private_data;
mvm              1030 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	return iwl_dbgfs_frame_stats_read(mvm, user_buf, count, ppos,
mvm              1031 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 					  &mvm->drv_rx_stats);
mvm              1034 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c static ssize_t iwl_dbgfs_fw_restart_write(struct iwl_mvm *mvm, char *buf,
mvm              1039 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (!iwl_mvm_firmware_running(mvm))
mvm              1042 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_lock(&mvm->mutex);
mvm              1045 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (mvm->fw_restart >= 0)
mvm              1046 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		mvm->fw_restart++;
mvm              1049 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	ret = iwl_mvm_send_cmd_pdu(mvm, REPLY_ERROR, 0, 0, NULL);
mvm              1051 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_unlock(&mvm->mutex);
mvm              1056 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c static ssize_t iwl_dbgfs_fw_nmi_write(struct iwl_mvm *mvm, char *buf,
mvm              1059 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (!iwl_mvm_firmware_running(mvm))
mvm              1062 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	iwl_force_nmi(mvm->trans);
mvm              1072 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	struct iwl_mvm *mvm = file->private_data;
mvm              1079 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (mvm->scan_rx_ant & ANT_A)
mvm              1081 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (mvm->scan_rx_ant & ANT_B)
mvm              1083 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (mvm->scan_rx_ant & ANT_C)
mvm              1085 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	pos += scnprintf(buf + pos, bufsz - pos, " (%hhx)\n", mvm->scan_rx_ant);
mvm              1091 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c iwl_dbgfs_scan_ant_rxchain_write(struct iwl_mvm *mvm, char *buf,
mvm              1096 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (!iwl_mvm_firmware_running(mvm))
mvm              1103 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (scan_rx_ant & ~(iwl_mvm_get_valid_rx_ant(mvm)))
mvm              1106 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (mvm->scan_rx_ant != scan_rx_ant) {
mvm              1107 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		mvm->scan_rx_ant = scan_rx_ant;
mvm              1108 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		if (fw_has_capa(&mvm->fw->ucode_capa,
mvm              1110 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 			iwl_mvm_config_scan(mvm);
mvm              1116 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c static ssize_t iwl_dbgfs_indirection_tbl_write(struct iwl_mvm *mvm,
mvm              1152 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_lock(&mvm->mutex);
mvm              1153 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (iwl_mvm_firmware_running(mvm))
mvm              1154 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		ret = iwl_mvm_send_cmd_pdu(mvm, RSS_CONFIG_CMD, 0,
mvm              1158 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_unlock(&mvm->mutex);
mvm              1163 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c static ssize_t iwl_dbgfs_inject_packet_write(struct iwl_mvm *mvm,
mvm              1176 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	size_t mpdu_cmd_hdr_size = (mvm->trans->trans_cfg->device_family >=
mvm              1181 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (!iwl_mvm_firmware_running(mvm))
mvm              1185 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (!mvm->trans->trans_cfg->mq_rx_supported)
mvm              1213 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	iwl_mvm_rx_mpdu_mq(mvm, NULL, &rxb, 0);
mvm              1223 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c static int _iwl_dbgfs_inject_beacon_ie(struct iwl_mvm *mvm, char *bin, int len)
mvm              1240 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (!iwl_mvm_firmware_running(mvm))
mvm              1243 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (!iwl_mvm_has_new_tx_api(mvm) &&
mvm              1244 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	    !fw_has_api(&mvm->fw->ucode_capa,
mvm              1251 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		vif = iwl_mvm_rcu_dereference_vif_id(mvm, i, true);
mvm              1262 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mvm->hw->extra_beacon_tailroom = len;
mvm              1264 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	beacon = ieee80211_beacon_get_template(mvm->hw, vif, NULL);
mvm              1273 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mvm->beacon_inject_active = true;
mvm              1287 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	iwl_mvm_mac_ctxt_set_tim(mvm, &beacon_cmd.tim_idx,
mvm              1291 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_lock(&mvm->mutex);
mvm              1292 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	iwl_mvm_mac_ctxt_send_beacon_cmd(mvm, beacon, &beacon_cmd,
mvm              1294 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_unlock(&mvm->mutex);
mvm              1306 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c static ssize_t iwl_dbgfs_inject_beacon_ie_write(struct iwl_mvm *mvm,
mvm              1310 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	int ret = _iwl_dbgfs_inject_beacon_ie(mvm, buf, count);
mvm              1312 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mvm->hw->extra_beacon_tailroom = 0;
mvm              1316 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c static ssize_t iwl_dbgfs_inject_beacon_ie_restore_write(struct iwl_mvm *mvm,
mvm              1321 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	int ret = _iwl_dbgfs_inject_beacon_ie(mvm, NULL, 0);
mvm              1323 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mvm->hw->extra_beacon_tailroom = 0;
mvm              1324 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mvm->beacon_inject_active = false;
mvm              1332 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	struct iwl_mvm *mvm = file->private_data;
mvm              1338 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_lock(&mvm->mutex);
mvm              1339 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	conf = mvm->fwrt.dump.conf;
mvm              1340 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_unlock(&mvm->mutex);
mvm              1347 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c static ssize_t iwl_dbgfs_fw_dbg_conf_write(struct iwl_mvm *mvm,
mvm              1354 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (!iwl_mvm_firmware_running(mvm))
mvm              1364 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_lock(&mvm->mutex);
mvm              1365 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	ret = iwl_fw_start_dbg_conf(&mvm->fwrt, conf_id);
mvm              1366 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_unlock(&mvm->mutex);
mvm              1371 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c static ssize_t iwl_dbgfs_fw_dbg_collect_write(struct iwl_mvm *mvm,
mvm              1378 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	iwl_fw_dbg_collect(&mvm->fwrt, FW_DBG_TRIGGER_USER, buf,
mvm              1390 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	struct iwl_mvm *mvm = file->private_data;
mvm              1402 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_lock(&mvm->mutex);
mvm              1403 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (!iwl_mvm_bcast_filter_build_cmd(mvm, &cmd)) {
mvm              1405 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		mutex_unlock(&mvm->mutex);
mvm              1408 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_unlock(&mvm->mutex);
mvm              1440 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c static ssize_t iwl_dbgfs_bcast_filters_write(struct iwl_mvm *mvm, char *buf,
mvm              1453 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (filter_id >= ARRAY_SIZE(mvm->dbgfs_bcast_filtering.cmd.filters) ||
mvm              1478 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_lock(&mvm->mutex);
mvm              1479 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	memcpy(&mvm->dbgfs_bcast_filtering.cmd.filters[filter_id],
mvm              1483 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (iwl_mvm_firmware_running(mvm) &&
mvm              1484 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	    mvm->dbgfs_bcast_filtering.override &&
mvm              1485 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	    iwl_mvm_bcast_filter_build_cmd(mvm, &cmd))
mvm              1486 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		err = iwl_mvm_send_cmd_pdu(mvm, BCAST_FILTER_CMD, 0,
mvm              1488 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_unlock(&mvm->mutex);
mvm              1497 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	struct iwl_mvm *mvm = file->private_data;
mvm              1508 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_lock(&mvm->mutex);
mvm              1509 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (!iwl_mvm_bcast_filter_build_cmd(mvm, &cmd)) {
mvm              1511 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		mutex_unlock(&mvm->mutex);
mvm              1514 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_unlock(&mvm->mutex);
mvm              1528 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c static ssize_t iwl_dbgfs_bcast_filters_macs_write(struct iwl_mvm *mvm,
mvm              1537 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (!mvm->bcast_filters)
mvm              1551 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_lock(&mvm->mutex);
mvm              1552 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	memcpy(&mvm->dbgfs_bcast_filtering.cmd.macs[mac_id],
mvm              1556 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (iwl_mvm_firmware_running(mvm) &&
mvm              1557 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	    mvm->dbgfs_bcast_filtering.override &&
mvm              1558 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	    iwl_mvm_bcast_filter_build_cmd(mvm, &cmd))
mvm              1559 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		err = iwl_mvm_send_cmd_pdu(mvm, BCAST_FILTER_CMD, 0,
mvm              1561 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_unlock(&mvm->mutex);
mvm              1572 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		debugfs_create_file(alias, mode, parent, mvm,		\
mvm              1595 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	struct iwl_mvm *mvm = file->private_data;
mvm              1600 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (!mvm->dbgfs_prph_reg_addr)
mvm              1604 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		mvm->dbgfs_prph_reg_addr,
mvm              1605 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		iwl_read_prph(mvm->trans, mvm->dbgfs_prph_reg_addr));
mvm              1611 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c iwl_dbgfs_prph_reg_write(struct iwl_mvm *mvm, char *buf,
mvm              1617 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	args = sscanf(buf, "%i %i", &mvm->dbgfs_prph_reg_addr, &value);
mvm              1626 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	iwl_write_prph(mvm->trans, mvm->dbgfs_prph_reg_addr, value);
mvm              1633 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c iwl_dbgfs_send_echo_cmd_write(struct iwl_mvm *mvm, char *buf,
mvm              1638 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (!iwl_mvm_firmware_running(mvm))
mvm              1641 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_lock(&mvm->mutex);
mvm              1642 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	ret = iwl_mvm_send_cmd_pdu(mvm, ECHO_CMD, 0, 0, NULL);
mvm              1643 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_unlock(&mvm->mutex);
mvm              1649 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	struct iwl_mvm *mvm;
mvm              1659 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	apply->mvm->cur_aid = cpu_to_le16(apply->aid);
mvm              1660 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	memcpy(apply->mvm->cur_bssid, apply->bssid,
mvm              1661 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	       sizeof(apply->mvm->cur_bssid));
mvm              1667 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c iwl_dbgfs_he_sniffer_params_write(struct iwl_mvm *mvm, char *buf,
mvm              1673 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		.mvm = mvm,
mvm              1681 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (!iwl_mvm_firmware_running(mvm))
mvm              1696 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_lock(&mvm->mutex);
mvm              1707 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	iwl_init_notification_wait(&mvm->notif_wait, &wait,
mvm              1711 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	ret = iwl_mvm_send_cmd_pdu(mvm, iwl_cmd_id(HE_AIR_SNIFFER_CONFIG_CMD,
mvm              1716 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	iwl_remove_notification(&mvm->notif_wait, &wait);
mvm              1718 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_unlock(&mvm->mutex);
mvm              1727 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	struct iwl_mvm *mvm = file->private_data;
mvm              1733 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 			le16_to_cpu(mvm->cur_aid), mvm->cur_bssid[0],
mvm              1734 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 			mvm->cur_bssid[1], mvm->cur_bssid[2], mvm->cur_bssid[3],
mvm              1735 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 			mvm->cur_bssid[4], mvm->cur_bssid[5]);
mvm              1744 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	struct iwl_mvm *mvm = file->private_data;
mvm              1750 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_lock(&mvm->mutex);
mvm              1754 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 				 mvm->uapsd_noagg_bssids[i].addr);
mvm              1756 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_unlock(&mvm->mutex);
mvm              1762 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c iwl_dbgfs_ltr_config_write(struct iwl_mvm *mvm,
mvm              1768 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (!iwl_mvm_firmware_running(mvm))
mvm              1782 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_lock(&mvm->mutex);
mvm              1783 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	ret = iwl_mvm_send_cmd_pdu(mvm, LTR_CONFIG, 0, sizeof(ltr_config),
mvm              1785 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_unlock(&mvm->mutex);
mvm              1788 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		IWL_ERR(mvm, "failed to send ltr configuration cmd\n");
mvm              1846 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	struct iwl_mvm *mvm = file->private_data;
mvm              1857 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (!iwl_mvm_firmware_running(mvm))
mvm              1870 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_lock(&mvm->mutex);
mvm              1871 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	ret = iwl_mvm_send_cmd(mvm, &hcmd);
mvm              1872 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_unlock(&mvm->mutex);
mvm              1903 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	struct iwl_mvm *mvm = file->private_data;
mvm              1912 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (!iwl_mvm_firmware_running(mvm))
mvm              1945 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_lock(&mvm->mutex);
mvm              1946 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	ret = iwl_mvm_send_cmd(mvm, &hcmd);
mvm              1947 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mutex_unlock(&mvm->mutex);
mvm              1980 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              1982 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (iwl_mvm_has_tlc_offload(mvm)) {
mvm              1988 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c void iwl_mvm_dbgfs_register(struct iwl_mvm *mvm, struct dentry *dbgfs_dir)
mvm              1993 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	spin_lock_init(&mvm->drv_stats_lock);
mvm              1995 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	mvm->debugfs_dir = dbgfs_dir;
mvm              1997 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	MVM_DEBUGFS_ADD_FILE(tx_flush, mvm->debugfs_dir, 0200);
mvm              1998 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	MVM_DEBUGFS_ADD_FILE(sta_drain, mvm->debugfs_dir, 0200);
mvm              1999 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	MVM_DEBUGFS_ADD_FILE(sram, mvm->debugfs_dir, 0600);
mvm              2000 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	MVM_DEBUGFS_ADD_FILE(set_nic_temperature, mvm->debugfs_dir, 0600);
mvm              2008 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	MVM_DEBUGFS_ADD_FILE(disable_power_off, mvm->debugfs_dir, 0600);
mvm              2009 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	MVM_DEBUGFS_ADD_FILE(fw_ver, mvm->debugfs_dir, 0400);
mvm              2010 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	MVM_DEBUGFS_ADD_FILE(fw_rx_stats, mvm->debugfs_dir, 0400);
mvm              2011 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	MVM_DEBUGFS_ADD_FILE(drv_rx_stats, mvm->debugfs_dir, 0400);
mvm              2012 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	MVM_DEBUGFS_ADD_FILE(fw_restart, mvm->debugfs_dir, 0200);
mvm              2013 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	MVM_DEBUGFS_ADD_FILE(fw_nmi, mvm->debugfs_dir, 0200);
mvm              2014 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	MVM_DEBUGFS_ADD_FILE(bt_tx_prio, mvm->debugfs_dir, 0200);
mvm              2015 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	MVM_DEBUGFS_ADD_FILE(bt_force_ant, mvm->debugfs_dir, 0200);
mvm              2016 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	MVM_DEBUGFS_ADD_FILE(scan_ant_rxchain, mvm->debugfs_dir, 0600);
mvm              2017 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	MVM_DEBUGFS_ADD_FILE(prph_reg, mvm->debugfs_dir, 0600);
mvm              2018 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	MVM_DEBUGFS_ADD_FILE(fw_dbg_conf, mvm->debugfs_dir, 0600);
mvm              2019 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	MVM_DEBUGFS_ADD_FILE(fw_dbg_collect, mvm->debugfs_dir, 0200);
mvm              2020 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	MVM_DEBUGFS_ADD_FILE(send_echo_cmd, mvm->debugfs_dir, 0200);
mvm              2021 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	MVM_DEBUGFS_ADD_FILE(indirection_tbl, mvm->debugfs_dir, 0200);
mvm              2022 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	MVM_DEBUGFS_ADD_FILE(inject_packet, mvm->debugfs_dir, 0200);
mvm              2023 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	MVM_DEBUGFS_ADD_FILE(inject_beacon_ie, mvm->debugfs_dir, 0200);
mvm              2024 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	MVM_DEBUGFS_ADD_FILE(inject_beacon_ie_restore, mvm->debugfs_dir, 0200);
mvm              2028 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	MVM_DEBUGFS_ADD_FILE(he_sniffer_params, mvm->debugfs_dir, 0600);
mvm              2030 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (fw_has_capa(&mvm->fw->ucode_capa, IWL_UCODE_TLV_CAPA_SET_LTR_GEN2))
mvm              2031 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 		MVM_DEBUGFS_ADD_FILE(ltr_config, mvm->debugfs_dir, 0200);
mvm              2034 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 			    mvm->debugfs_dir, &mvm->scan_iter_notif_enabled);
mvm              2035 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	debugfs_create_bool("drop_bcn_ap_mode", 0600, mvm->debugfs_dir,
mvm              2036 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 			    &mvm->drop_bcn_ap_mode);
mvm              2038 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	MVM_DEBUGFS_ADD_FILE(uapsd_noagg_bssids, mvm->debugfs_dir, S_IRUSR);
mvm              2041 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	if (mvm->fw->ucode_capa.flags & IWL_UCODE_TLV_FLAGS_BCAST_FILTERING) {
mvm              2043 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 					       mvm->debugfs_dir);
mvm              2046 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 				    &mvm->dbgfs_bcast_filtering.override);
mvm              2056 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	MVM_DEBUGFS_ADD_FILE(d3_test, mvm->debugfs_dir, 0400);
mvm              2057 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	debugfs_create_bool("d3_wake_sysassert", 0600, mvm->debugfs_dir,
mvm              2058 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 			    &mvm->d3_wake_sysassert);
mvm              2059 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	debugfs_create_u32("last_netdetect_scans", 0400, mvm->debugfs_dir,
mvm              2060 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 			   &mvm->last_netdetect_scans);
mvm              2063 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	debugfs_create_u8("ps_disabled", 0400, mvm->debugfs_dir,
mvm              2064 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 			  &mvm->ps_disabled);
mvm              2065 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	debugfs_create_blob("nvm_hw", 0400, mvm->debugfs_dir,
mvm              2066 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 			    &mvm->nvm_hw_blob);
mvm              2067 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	debugfs_create_blob("nvm_sw", 0400, mvm->debugfs_dir,
mvm              2068 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 			    &mvm->nvm_sw_blob);
mvm              2069 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	debugfs_create_blob("nvm_calib", 0400, mvm->debugfs_dir,
mvm              2070 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 			    &mvm->nvm_calib_blob);
mvm              2071 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	debugfs_create_blob("nvm_prod", 0400, mvm->debugfs_dir,
mvm              2072 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 			    &mvm->nvm_prod_blob);
mvm              2073 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	debugfs_create_blob("nvm_phy_sku", 0400, mvm->debugfs_dir,
mvm              2074 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 			    &mvm->nvm_phy_sku_blob);
mvm              2076 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 			    mvm->debugfs_dir, &mvm->nvm_reg_blob);
mvm              2078 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	debugfs_create_file("mem", 0600, dbgfs_dir, mvm, &iwl_dbgfs_mem_ops);
mvm              2085 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c 	debugfs_create_symlink("iwlwifi", mvm->hw->wiphy->debugfsdir, buf);
mvm                79 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c static void iwl_mvm_ftm_reset(struct iwl_mvm *mvm)
mvm                83 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	mvm->ftm_initiator.req = NULL;
mvm                84 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	mvm->ftm_initiator.req_wdev = NULL;
mvm                85 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	memset(mvm->ftm_initiator.responses, 0,
mvm                86 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	       sizeof(mvm->ftm_initiator.responses));
mvm                87 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	list_for_each_entry_safe(e, t, &mvm->ftm_initiator.loc_list, list) {
mvm                93 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c void iwl_mvm_ftm_restart(struct iwl_mvm *mvm)
mvm               103 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	lockdep_assert_held(&mvm->mutex);
mvm               105 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	if (!mvm->ftm_initiator.req)
mvm               108 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	for (i = 0; i < mvm->ftm_initiator.req->n_peers; i++) {
mvm               109 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 		memcpy(result.addr, mvm->ftm_initiator.req->peers[i].addr,
mvm               111 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 		result.ftm.burst_index = mvm->ftm_initiator.responses[i];
mvm               113 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 		cfg80211_pmsr_report(mvm->ftm_initiator.req_wdev,
mvm               114 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 				     mvm->ftm_initiator.req,
mvm               118 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	cfg80211_pmsr_complete(mvm->ftm_initiator.req_wdev,
mvm               119 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 			       mvm->ftm_initiator.req, GFP_KERNEL);
mvm               120 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	iwl_mvm_ftm_reset(mvm);
mvm               137 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c static void iwl_mvm_ftm_cmd_v5(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm               167 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c static void iwl_mvm_ftm_cmd(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm               213 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c static int iwl_mvm_ftm_target_chandef(struct iwl_mvm *mvm,
mvm               236 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 		IWL_ERR(mvm, "Unsupported BW in FTM request (%d)\n",
mvm               248 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c iwl_mvm_ftm_put_target_v2(struct iwl_mvm *mvm,
mvm               254 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	ret = iwl_mvm_ftm_target_chandef(mvm, peer, &target->channel_num,
mvm               283 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c static int iwl_mvm_ftm_put_target(struct iwl_mvm *mvm,
mvm               289 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	ret = iwl_mvm_ftm_target_chandef(mvm, peer, &target->channel_num,
mvm               323 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c int iwl_mvm_ftm_start(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm               328 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	bool new_api = fw_has_api(&mvm->fw->ucode_capa,
mvm               338 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	lockdep_assert_held(&mvm->mutex);
mvm               340 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	if (mvm->ftm_initiator.req)
mvm               344 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 		iwl_mvm_ftm_cmd(mvm, vif, &cmd, req);
mvm               349 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 		iwl_mvm_ftm_cmd_v5(mvm, vif, &cmd_v5, req);
mvm               359 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 			err = iwl_mvm_ftm_put_target(mvm, peer, &cmd.ap[i]);
mvm               361 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 			err = iwl_mvm_ftm_put_target_v2(mvm, peer,
mvm               368 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	err = iwl_mvm_send_cmd_status(mvm, &hcmd, &status);
mvm               370 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 		IWL_ERR(mvm, "FTM range request command failure, status: %u\n",
mvm               376 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 		mvm->ftm_initiator.req = req;
mvm               377 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 		mvm->ftm_initiator.req_wdev = ieee80211_vif_to_wdev(vif);
mvm               383 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c void iwl_mvm_ftm_abort(struct iwl_mvm *mvm, struct cfg80211_pmsr_request *req)
mvm               389 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	lockdep_assert_held(&mvm->mutex);
mvm               391 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	if (req != mvm->ftm_initiator.req)
mvm               394 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	iwl_mvm_ftm_reset(mvm);
mvm               396 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	if (iwl_mvm_send_cmd_pdu(mvm, iwl_cmd_id(TOF_RANGE_ABORT_CMD,
mvm               399 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 		IWL_ERR(mvm, "failed to abort FTM process\n");
mvm               417 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c static u64 iwl_mvm_ftm_get_host_time(struct iwl_mvm *mvm, __le32 fw_gp2_ts)
mvm               423 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	iwl_mvm_get_sync_time(mvm, &curr_gp2, &now_from_boot_ns);
mvm               433 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c static void iwl_mvm_ftm_get_lci_civic(struct iwl_mvm *mvm,
mvm               438 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	list_for_each_entry(entry, &mvm->ftm_initiator.loc_list, list) {
mvm               457 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c static int iwl_mvm_ftm_range_resp_valid(struct iwl_mvm *mvm, u8 request_id,
mvm               460 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	lockdep_assert_held(&mvm->mutex);
mvm               462 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	if (request_id != (u8)mvm->ftm_initiator.req->cookie) {
mvm               463 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 		IWL_ERR(mvm, "Request ID mismatch, got %u, active %u\n",
mvm               464 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 			request_id, (u8)mvm->ftm_initiator.req->cookie);
mvm               468 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	if (num_of_aps > mvm->ftm_initiator.req->n_peers) {
mvm               469 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 		IWL_ERR(mvm, "FTM range response invalid\n");
mvm               476 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c static void iwl_mvm_debug_range_resp(struct iwl_mvm *mvm, u8 index,
mvm               481 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	IWL_DEBUG_INFO(mvm, "entry %d\n", index);
mvm               482 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	IWL_DEBUG_INFO(mvm, "\tstatus: %d\n", res->status);
mvm               483 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	IWL_DEBUG_INFO(mvm, "\tBSSID: %pM\n", res->addr);
mvm               484 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	IWL_DEBUG_INFO(mvm, "\thost time: %llu\n", res->host_time);
mvm               485 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	IWL_DEBUG_INFO(mvm, "\tburst index: %hhu\n", res->ftm.burst_index);
mvm               486 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	IWL_DEBUG_INFO(mvm, "\tsuccess num: %u\n", res->ftm.num_ftmr_successes);
mvm               487 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	IWL_DEBUG_INFO(mvm, "\trssi: %d\n", res->ftm.rssi_avg);
mvm               488 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	IWL_DEBUG_INFO(mvm, "\trssi spread: %hhu\n", res->ftm.rssi_spread);
mvm               489 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	IWL_DEBUG_INFO(mvm, "\trtt: %lld\n", res->ftm.rtt_avg);
mvm               490 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	IWL_DEBUG_INFO(mvm, "\trtt var: %llu\n", res->ftm.rtt_variance);
mvm               491 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	IWL_DEBUG_INFO(mvm, "\trtt spread: %llu\n", res->ftm.rtt_spread);
mvm               492 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	IWL_DEBUG_INFO(mvm, "\tdistance: %lld\n", rtt_avg);
mvm               495 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c void iwl_mvm_ftm_range_resp(struct iwl_mvm *mvm, struct iwl_rx_cmd_buffer *rxb)
mvm               502 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	bool new_api = fw_has_api(&mvm->fw->ucode_capa,
mvm               506 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	lockdep_assert_held(&mvm->mutex);
mvm               508 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	if (!mvm->ftm_initiator.req) {
mvm               513 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 		if (iwl_mvm_ftm_range_resp_valid(mvm, fw_resp->request_id,
mvm               520 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 		if (iwl_mvm_ftm_range_resp_valid(mvm, fw_resp_v5->request_id,
mvm               528 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	IWL_DEBUG_INFO(mvm, "Range response received\n");
mvm               529 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	IWL_DEBUG_INFO(mvm, "request id: %lld, num of entries: %hhu\n",
mvm               530 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 		       mvm->ftm_initiator.req->cookie, num_of_aps);
mvm               538 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 			if (fw_has_api(&mvm->fw->ucode_capa,
mvm               558 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 		peer_idx = iwl_mvm_ftm_find_peer(mvm->ftm_initiator.req,
mvm               561 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 			IWL_WARN(mvm,
mvm               592 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 		result.host_time = iwl_mvm_ftm_get_host_time(mvm,
mvm               595 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 		result.ftm.burst_index = mvm->ftm_initiator.responses[peer_idx];
mvm               596 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 		mvm->ftm_initiator.responses[peer_idx]++;
mvm               608 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 		iwl_mvm_ftm_get_lci_civic(mvm, &result);
mvm               610 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 		cfg80211_pmsr_report(mvm->ftm_initiator.req_wdev,
mvm               611 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 				     mvm->ftm_initiator.req,
mvm               614 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 		if (fw_has_api(&mvm->fw->ucode_capa,
mvm               616 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 			IWL_DEBUG_INFO(mvm, "RTT confidence: %hhu\n",
mvm               619 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 		iwl_mvm_debug_range_resp(mvm, i, &result);
mvm               623 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 		cfg80211_pmsr_complete(mvm->ftm_initiator.req_wdev,
mvm               624 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 				       mvm->ftm_initiator.req,
mvm               626 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 		iwl_mvm_ftm_reset(mvm);
mvm               630 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c void iwl_mvm_ftm_lc_notif(struct iwl_mvm *mvm, struct iwl_rx_cmd_buffer *rxb)
mvm               646 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	lockdep_assert_held(&mvm->mutex);
mvm               679 drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c 	list_add_tail(&entry->list, &mvm->ftm_initiator.loc_list);
mvm                66 drivers/net/wireless/intel/iwlwifi/mvm/ftm-responder.c iwl_mvm_ftm_responder_cmd(struct iwl_mvm *mvm,
mvm                80 drivers/net/wireless/intel/iwlwifi/mvm/ftm-responder.c 	lockdep_assert_held(&mvm->mutex);
mvm               104 drivers/net/wireless/intel/iwlwifi/mvm/ftm-responder.c 	return iwl_mvm_send_cmd_pdu(mvm, iwl_cmd_id(TOF_RESPONDER_CONFIG_CMD,
mvm               110 drivers/net/wireless/intel/iwlwifi/mvm/ftm-responder.c iwl_mvm_ftm_responder_dyn_cfg_cmd(struct iwl_mvm *mvm,
mvm               133 drivers/net/wireless/intel/iwlwifi/mvm/ftm-responder.c 	lockdep_assert_held(&mvm->mutex);
mvm               136 drivers/net/wireless/intel/iwlwifi/mvm/ftm-responder.c 		IWL_ERR(mvm, "LCI/civicloc data too big (%zd + %zd)\n",
mvm               152 drivers/net/wireless/intel/iwlwifi/mvm/ftm-responder.c 	return iwl_mvm_send_cmd(mvm, &hcmd);
mvm               155 drivers/net/wireless/intel/iwlwifi/mvm/ftm-responder.c int iwl_mvm_ftm_start_responder(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
mvm               166 drivers/net/wireless/intel/iwlwifi/mvm/ftm-responder.c 	lockdep_assert_held(&mvm->mutex);
mvm               173 drivers/net/wireless/intel/iwlwifi/mvm/ftm-responder.c 		IWL_ERR(mvm, "Cannot start responder, not in AP mode\n");
mvm               186 drivers/net/wireless/intel/iwlwifi/mvm/ftm-responder.c 	phy_ctxt = &mvm->phy_ctxts[*phy_ctxt_id];
mvm               187 drivers/net/wireless/intel/iwlwifi/mvm/ftm-responder.c 	ret = iwl_mvm_phy_ctxt_changed(mvm, phy_ctxt, &ctx.def,
mvm               193 drivers/net/wireless/intel/iwlwifi/mvm/ftm-responder.c 	ret = iwl_mvm_ftm_responder_cmd(mvm, vif, &ctx.def);
mvm               198 drivers/net/wireless/intel/iwlwifi/mvm/ftm-responder.c 		ret = iwl_mvm_ftm_responder_dyn_cfg_cmd(mvm, vif, params);
mvm               203 drivers/net/wireless/intel/iwlwifi/mvm/ftm-responder.c void iwl_mvm_ftm_restart_responder(struct iwl_mvm *mvm,
mvm               209 drivers/net/wireless/intel/iwlwifi/mvm/ftm-responder.c 	iwl_mvm_ftm_start_responder(mvm, vif);
mvm               212 drivers/net/wireless/intel/iwlwifi/mvm/ftm-responder.c void iwl_mvm_ftm_responder_stats(struct iwl_mvm *mvm,
mvm               217 drivers/net/wireless/intel/iwlwifi/mvm/ftm-responder.c 	struct cfg80211_ftm_responder_stats *stats = &mvm->ftm_resp_stats;
mvm                92 drivers/net/wireless/intel/iwlwifi/mvm/fw.c static int iwl_send_tx_ant_cfg(struct iwl_mvm *mvm, u8 valid_tx_ant)
mvm                98 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	IWL_DEBUG_FW(mvm, "select valid tx ant: %u\n", valid_tx_ant);
mvm                99 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	return iwl_mvm_send_cmd_pdu(mvm, TX_ANT_CONFIGURATION_CMD, 0,
mvm               103 drivers/net/wireless/intel/iwlwifi/mvm/fw.c static int iwl_send_rss_cfg_cmd(struct iwl_mvm *mvm)
mvm               116 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	if (mvm->trans->num_rx_queues == 1)
mvm               122 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 			1 + (i % (mvm->trans->num_rx_queues - 1));
mvm               125 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	return iwl_mvm_send_cmd_pdu(mvm, RSS_CONFIG_CMD, 0, sizeof(cmd), &cmd);
mvm               128 drivers/net/wireless/intel/iwlwifi/mvm/fw.c static int iwl_configure_rxq(struct iwl_mvm *mvm)
mvm               138 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	num_queues = mvm->trans->num_rx_queues - 1;
mvm               152 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		iwl_trans_get_rxq_dma_data(mvm->trans, i + 1, &data);
mvm               164 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_mvm_send_cmd(mvm, &hcmd);
mvm               171 drivers/net/wireless/intel/iwlwifi/mvm/fw.c static int iwl_mvm_send_dqa_cmd(struct iwl_mvm *mvm)
mvm               179 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_mvm_send_cmd_pdu(mvm, cmd_id, 0, sizeof(dqa_cmd), &dqa_cmd);
mvm               181 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		IWL_ERR(mvm, "Failed to send DQA enabling command: %d\n", ret);
mvm               183 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		IWL_DEBUG_FW(mvm, "Working in DQA mode\n");
mvm               188 drivers/net/wireless/intel/iwlwifi/mvm/fw.c void iwl_mvm_mfu_assert_dump_notif(struct iwl_mvm *mvm,
mvm               198 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		IWL_INFO(mvm, "MFUART assert id 0x%x occurred\n",
mvm               202 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		IWL_DEBUG_INFO(mvm,
mvm               212 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	struct iwl_mvm *mvm =
mvm               238 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	iwl_fw_lmac1_set_alive_err_table(mvm->trans, lmac_error_event_table);
mvm               241 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		mvm->trans->dbg.lmac_error_event_table[1] =
mvm               247 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		mvm->support_umac_log = false;
mvm               249 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		   mvm->trans->cfg->min_umac_error_event_table) {
mvm               250 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		mvm->support_umac_log = true;
mvm               252 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		IWL_ERR(mvm,
mvm               255 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 			(mvm->fwrt.cur_fw_img == IWL_UCODE_INIT) ?
mvm               257 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		mvm->support_umac_log = false;
mvm               260 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	if (mvm->support_umac_log)
mvm               261 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		iwl_fw_umac_set_alive_err_table(mvm->trans,
mvm               267 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	IWL_DEBUG_FW(mvm,
mvm               272 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		IWL_DEBUG_FW(mvm, "Alive ucode CDB\n");
mvm               274 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	IWL_DEBUG_FW(mvm,
mvm               279 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	iwl_fwrt_update_fw_versions(&mvm->fwrt, lmac1, umac);
mvm               307 drivers/net/wireless/intel/iwlwifi/mvm/fw.c static int iwl_mvm_load_ucode_wait_alive(struct iwl_mvm *mvm,
mvm               314 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	enum iwl_ucode_type old_type = mvm->fwrt.cur_fw_img;
mvm               317 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		ucode_type == IWL_UCODE_INIT || iwl_mvm_has_unified_ucode(mvm);
mvm               320 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	    iwl_fw_dbg_conf_usniffer(mvm->fw, FW_DBG_START_FROM_ALIVE) &&
mvm               321 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	    !(fw_has_capa(&mvm->fw->ucode_capa,
mvm               323 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		fw = iwl_get_ucode_image(mvm->fw, IWL_UCODE_REGULAR_USNIFFER);
mvm               325 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		fw = iwl_get_ucode_image(mvm->fw, ucode_type);
mvm               328 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	iwl_fw_set_current_image(&mvm->fwrt, ucode_type);
mvm               329 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	clear_bit(IWL_MVM_STATUS_FIRMWARE_RUNNING, &mvm->status);
mvm               331 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	iwl_init_notification_wait(&mvm->notif_wait, &alive_wait,
mvm               340 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_trans_start_fw(mvm->trans, fw, run_in_rfkill);
mvm               342 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		iwl_fw_set_current_image(&mvm->fwrt, old_type);
mvm               343 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		iwl_remove_notification(&mvm->notif_wait, &alive_wait);
mvm               351 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_wait_notification(&mvm->notif_wait, &alive_wait,
mvm               354 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		struct iwl_trans *trans = mvm->trans;
mvm               357 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 			iwl_fw_dbg_error_collect(&mvm->fwrt,
mvm               361 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 			IWL_ERR(mvm,
mvm               368 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 			IWL_ERR(mvm,
mvm               372 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		iwl_fw_set_current_image(&mvm->fwrt, old_type);
mvm               377 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		IWL_ERR(mvm, "Loaded ucode is not valid!\n");
mvm               378 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		iwl_fw_set_current_image(&mvm->fwrt, old_type);
mvm               382 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	iwl_trans_fw_alive(mvm->trans, alive_data.scd_base_addr);
mvm               393 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	memset(&mvm->queue_info, 0, sizeof(mvm->queue_info));
mvm               400 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	mvm->queue_info[IWL_MVM_DQA_CMD_QUEUE].tid_bitmap =
mvm               403 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	set_bit(IWL_MVM_STATUS_FIRMWARE_RUNNING, &mvm->status);
mvm               405 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	iwl_fw_set_dbg_rec_on(&mvm->fwrt);
mvm               411 drivers/net/wireless/intel/iwlwifi/mvm/fw.c static int iwl_run_unified_mvm_ucode(struct iwl_mvm *mvm, bool read_nvm)
mvm               423 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	if (mvm->trans->cfg->tx_with_siso_diversity)
mvm               426 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	lockdep_assert_held(&mvm->mutex);
mvm               428 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	mvm->rfkill_safe_init_done = false;
mvm               430 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	iwl_init_notification_wait(&mvm->notif_wait,
mvm               437 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	iwl_dbg_tlv_time_point(&mvm->fwrt, IWL_FW_INI_TIME_POINT_EARLY, NULL);
mvm               440 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_mvm_load_ucode_wait_alive(mvm, IWL_UCODE_REGULAR);
mvm               442 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		IWL_ERR(mvm, "Failed to start RT ucode: %d\n", ret);
mvm               445 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	iwl_dbg_tlv_time_point(&mvm->fwrt, IWL_FW_INI_TIME_POINT_AFTER_ALIVE,
mvm               451 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_mvm_send_cmd_pdu(mvm, WIDE_ID(SYSTEM_GROUP,
mvm               456 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		IWL_ERR(mvm, "Failed to run init config command: %d\n",
mvm               462 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	if (mvm->nvm_file_name) {
mvm               463 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		iwl_read_external_nvm(mvm->trans, mvm->nvm_file_name,
mvm               464 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 				      mvm->nvm_sections);
mvm               465 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		iwl_mvm_load_nvm_to_nic(mvm);
mvm               469 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		ret = iwl_nvm_init(mvm);
mvm               471 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 			IWL_ERR(mvm, "Failed to read NVM: %d\n", ret);
mvm               476 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_mvm_send_cmd_pdu(mvm, WIDE_ID(REGULATORY_AND_NVM_GROUP,
mvm               481 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		IWL_ERR(mvm, "Failed to run complete NVM access: %d\n",
mvm               487 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_wait_notification(&mvm->notif_wait, &init_wait,
mvm               494 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		mvm->nvm_data = iwl_get_nvm(mvm->trans, mvm->fw);
mvm               495 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		if (IS_ERR(mvm->nvm_data)) {
mvm               496 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 			ret = PTR_ERR(mvm->nvm_data);
mvm               497 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 			mvm->nvm_data = NULL;
mvm               498 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 			IWL_ERR(mvm, "Failed to read NVM: %d\n", ret);
mvm               503 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	mvm->rfkill_safe_init_done = true;
mvm               508 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	iwl_remove_notification(&mvm->notif_wait, &init_wait);
mvm               512 drivers/net/wireless/intel/iwlwifi/mvm/fw.c static int iwl_send_phy_cfg_cmd(struct iwl_mvm *mvm)
mvm               515 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	enum iwl_ucode_type ucode_type = mvm->fwrt.cur_fw_img;
mvm               517 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	if (iwl_mvm_has_unified_ucode(mvm) &&
mvm               518 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	    !mvm->trans->cfg->tx_with_siso_diversity) {
mvm               520 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	} else if (mvm->trans->cfg->tx_with_siso_diversity) {
mvm               530 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	phy_cfg_cmd.phy_cfg = cpu_to_le32(iwl_mvm_get_phy_config(mvm));
mvm               533 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	phy_cfg_cmd.phy_cfg |= cpu_to_le32(mvm->cfg->extra_phy_cfg_flags);
mvm               536 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		mvm->fw->default_calib[ucode_type].event_trigger;
mvm               538 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		mvm->fw->default_calib[ucode_type].flow_trigger;
mvm               540 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	IWL_DEBUG_INFO(mvm, "Sending Phy CFG command: 0x%x\n",
mvm               543 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	return iwl_mvm_send_cmd_pdu(mvm, PHY_CONFIGURATION_CMD, 0,
mvm               547 drivers/net/wireless/intel/iwlwifi/mvm/fw.c int iwl_run_init_mvm_ucode(struct iwl_mvm *mvm, bool read_nvm)
mvm               556 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	if (iwl_mvm_has_unified_ucode(mvm))
mvm               557 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		return iwl_run_unified_mvm_ucode(mvm, true);
mvm               559 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	lockdep_assert_held(&mvm->mutex);
mvm               561 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	mvm->rfkill_safe_init_done = false;
mvm               563 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	iwl_init_notification_wait(&mvm->notif_wait,
mvm               568 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 				   mvm->phy_db);
mvm               571 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_mvm_load_ucode_wait_alive(mvm, IWL_UCODE_INIT);
mvm               573 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		IWL_ERR(mvm, "Failed to start INIT ucode: %d\n", ret);
mvm               577 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	if (mvm->trans->trans_cfg->device_family < IWL_DEVICE_FAMILY_8000) {
mvm               578 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		ret = iwl_mvm_send_bt_init_conf(mvm);
mvm               585 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		ret = iwl_nvm_init(mvm);
mvm               587 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 			IWL_ERR(mvm, "Failed to read NVM: %d\n", ret);
mvm               593 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	if (mvm->nvm_file_name)
mvm               594 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		iwl_mvm_load_nvm_to_nic(mvm);
mvm               596 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	WARN_ONCE(mvm->nvm_data->nvm_version < mvm->trans->cfg->nvm_ver,
mvm               598 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		  mvm->nvm_data->nvm_version, mvm->trans->cfg->nvm_ver);
mvm               604 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	if (iwl_mvm_is_radio_hw_killed(mvm)) {
mvm               605 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		IWL_DEBUG_RF_KILL(mvm,
mvm               610 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	mvm->rfkill_safe_init_done = true;
mvm               613 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_send_tx_ant_cfg(mvm, iwl_mvm_get_valid_tx_ant(mvm));
mvm               617 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_send_phy_cfg_cmd(mvm);
mvm               619 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		IWL_ERR(mvm, "Failed to run INIT calibrations: %d\n",
mvm               628 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_wait_notification(&mvm->notif_wait, &calib_wait,
mvm               633 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	if (iwl_mvm_is_radio_hw_killed(mvm)) {
mvm               634 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		IWL_DEBUG_RF_KILL(mvm, "RFKILL while calibrating.\n");
mvm               637 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		IWL_ERR(mvm, "Failed to run INIT calibrations: %d\n",
mvm               644 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	iwl_remove_notification(&mvm->notif_wait, &calib_wait);
mvm               646 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	mvm->rfkill_safe_init_done = false;
mvm               647 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	if (iwlmvm_mod_params.init_dbg && !mvm->nvm_data) {
mvm               649 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		mvm->nvm_data = kzalloc(sizeof(struct iwl_nvm_data) +
mvm               653 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		if (!mvm->nvm_data)
mvm               655 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		mvm->nvm_data->bands[0].channels = mvm->nvm_data->channels;
mvm               656 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		mvm->nvm_data->bands[0].n_channels = 1;
mvm               657 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		mvm->nvm_data->bands[0].n_bitrates = 1;
mvm               658 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		mvm->nvm_data->bands[0].bitrates =
mvm               659 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 			(void *)mvm->nvm_data->channels + 1;
mvm               660 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		mvm->nvm_data->bands[0].bitrates->hw_value = 10;
mvm               666 drivers/net/wireless/intel/iwlwifi/mvm/fw.c static int iwl_mvm_config_ltr(struct iwl_mvm *mvm)
mvm               672 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	if (!mvm->trans->ltr_enabled)
mvm               675 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	return iwl_mvm_send_cmd_pdu(mvm, LTR_CONFIG, 0,
mvm               680 drivers/net/wireless/intel/iwlwifi/mvm/fw.c static inline int iwl_mvm_sar_set_profile(struct iwl_mvm *mvm,
mvm               700 drivers/net/wireless/intel/iwlwifi/mvm/fw.c static int iwl_mvm_sar_get_wrds_table(struct iwl_mvm *mvm)
mvm               706 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	data = iwl_acpi_get_object(mvm->dev, ACPI_WRDS_METHOD);
mvm               710 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	wifi_pkg = iwl_acpi_get_wifi_pkg(mvm->dev, data,
mvm               731 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_mvm_sar_set_profile(mvm, table, &mvm->sar_profiles[0],
mvm               738 drivers/net/wireless/intel/iwlwifi/mvm/fw.c static int iwl_mvm_sar_get_ewrd_table(struct iwl_mvm *mvm)
mvm               744 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	data = iwl_acpi_get_object(mvm->dev, ACPI_EWRD_METHOD);
mvm               748 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	wifi_pkg = iwl_acpi_get_wifi_pkg(mvm->dev, data,
mvm               783 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		ret = iwl_mvm_sar_set_profile(mvm,
mvm               785 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 					      &mvm->sar_profiles[i + 1],
mvm               799 drivers/net/wireless/intel/iwlwifi/mvm/fw.c static int iwl_mvm_sar_get_wgds_table(struct iwl_mvm *mvm)
mvm               805 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	data = iwl_acpi_get_object(mvm->dev, ACPI_WGDS_METHOD);
mvm               809 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	wifi_pkg = iwl_acpi_get_wifi_pkg(mvm->dev, data,
mvm               821 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	mvm->geo_rev = tbl_rev;
mvm               833 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 			mvm->geo_profiles[i].values[j] = entry->integer.value;
mvm               842 drivers/net/wireless/intel/iwlwifi/mvm/fw.c int iwl_mvm_sar_select_profile(struct iwl_mvm *mvm, int prof_a, int prof_b)
mvm               858 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	if (fw_has_api(&mvm->fw->ucode_capa,
mvm               861 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	else if (fw_has_capa(&mvm->fw->ucode_capa,
mvm               879 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		prof = &mvm->sar_profiles[profs[i] - 1];
mvm               883 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 			IWL_DEBUG_RADIO(mvm, "SAR profile %d is disabled.\n",
mvm               889 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		IWL_DEBUG_INFO(mvm,
mvm               892 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		IWL_DEBUG_RADIO(mvm, "  Chain[%d]:\n", i);
mvm               897 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 			IWL_DEBUG_RADIO(mvm, "    Band[%d] = %d * .125dBm\n",
mvm               902 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	IWL_DEBUG_RADIO(mvm, "Sending REDUCE_TX_POWER_CMD per chain\n");
mvm               904 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	return iwl_mvm_send_cmd_pdu(mvm, REDUCE_TX_POWER_CMD, 0, len, &cmd);
mvm               907 drivers/net/wireless/intel/iwlwifi/mvm/fw.c static bool iwl_mvm_sar_geo_support(struct iwl_mvm *mvm)
mvm               920 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	return IWL_UCODE_SERIAL(mvm->fw->ucode_ver) >= 38 ||
mvm               921 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	       IWL_UCODE_SERIAL(mvm->fw->ucode_ver) == 17 ||
mvm               922 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	       (IWL_UCODE_SERIAL(mvm->fw->ucode_ver) == 29 &&
mvm               923 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		((mvm->trans->hw_rev & CSR_HW_REV_TYPE_MSK) ==
mvm               927 drivers/net/wireless/intel/iwlwifi/mvm/fw.c int iwl_mvm_get_sar_geo_profile(struct iwl_mvm *mvm)
mvm               937 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	if (fw_has_api(&mvm->fw->ucode_capa, IWL_UCODE_TLV_API_SAR_TABLE_VER)) {
mvm               956 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	if (!iwl_mvm_sar_geo_support(mvm))
mvm               959 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_mvm_send_cmd(mvm, &cmd);
mvm               961 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		IWL_ERR(mvm, "Failed to get geographic profile info %d\n", ret);
mvm               969 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		IWL_WARN(mvm, "Invalid geographic profile idx (%d)\n", ret);
mvm               976 drivers/net/wireless/intel/iwlwifi/mvm/fw.c static int iwl_mvm_sar_geo_init(struct iwl_mvm *mvm)
mvm               984 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	if (!iwl_mvm_sar_geo_support(mvm))
mvm               987 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_mvm_sar_get_wgds_table(mvm);
mvm               989 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		IWL_DEBUG_RADIO(mvm,
mvm               996 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	IWL_DEBUG_RADIO(mvm, "Sending GEO_TX_POWER_LIMIT\n");
mvm              1010 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 			value = &mvm->geo_profiles[i].values[j *
mvm              1015 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 			IWL_DEBUG_RADIO(mvm,
mvm              1021 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	cmd.table_revision = cpu_to_le32(mvm->geo_rev);
mvm              1023 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	if (!fw_has_api(&mvm->fw->ucode_capa,
mvm              1025 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		return iwl_mvm_send_cmd_pdu(mvm, cmd_wide_id, 0,
mvm              1030 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	return iwl_mvm_send_cmd_pdu(mvm, cmd_wide_id, 0, sizeof(cmd), &cmd);
mvm              1033 drivers/net/wireless/intel/iwlwifi/mvm/fw.c static int iwl_mvm_get_ppag_table(struct iwl_mvm *mvm)
mvm              1039 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	mvm->ppag_table.enabled = cpu_to_le32(0);
mvm              1040 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	data = iwl_acpi_get_object(mvm->dev, ACPI_PPAG_METHOD);
mvm              1044 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	wifi_pkg = iwl_acpi_get_wifi_pkg(mvm->dev, data,
mvm              1064 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	mvm->ppag_table.enabled = cpu_to_le32(enabled->integer.value);
mvm              1065 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	if (!mvm->ppag_table.enabled) {
mvm              1085 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 				mvm->ppag_table.enabled = cpu_to_le32(0);
mvm              1089 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 			mvm->ppag_table.gain[i][j] = ent->integer.value;
mvm              1098 drivers/net/wireless/intel/iwlwifi/mvm/fw.c int iwl_mvm_ppag_send_cmd(struct iwl_mvm *mvm)
mvm              1102 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	if (!fw_has_capa(&mvm->fw->ucode_capa, IWL_UCODE_TLV_CAPA_SET_PPAG)) {
mvm              1103 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		IWL_DEBUG_RADIO(mvm,
mvm              1108 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	IWL_DEBUG_RADIO(mvm, "Sending PER_PLATFORM_ANT_GAIN_CMD\n");
mvm              1109 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	IWL_DEBUG_RADIO(mvm, "PPAG is %s\n",
mvm              1110 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 			mvm->ppag_table.enabled ? "enabled" : "disabled");
mvm              1114 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 			IWL_DEBUG_RADIO(mvm,
mvm              1116 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 					i, j, mvm->ppag_table.gain[i][j]);
mvm              1120 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_mvm_send_cmd_pdu(mvm, WIDE_ID(PHY_OPS_GROUP,
mvm              1122 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 				   0, sizeof(mvm->ppag_table),
mvm              1123 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 				   &mvm->ppag_table);
mvm              1125 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		IWL_ERR(mvm, "failed to send PER_PLATFORM_ANT_GAIN_CMD (%d)\n",
mvm              1131 drivers/net/wireless/intel/iwlwifi/mvm/fw.c static int iwl_mvm_ppag_init(struct iwl_mvm *mvm)
mvm              1135 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_mvm_get_ppag_table(mvm);
mvm              1137 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		IWL_DEBUG_RADIO(mvm,
mvm              1142 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	return iwl_mvm_ppag_send_cmd(mvm);
mvm              1146 drivers/net/wireless/intel/iwlwifi/mvm/fw.c static int iwl_mvm_sar_get_wrds_table(struct iwl_mvm *mvm)
mvm              1151 drivers/net/wireless/intel/iwlwifi/mvm/fw.c static int iwl_mvm_sar_get_ewrd_table(struct iwl_mvm *mvm)
mvm              1156 drivers/net/wireless/intel/iwlwifi/mvm/fw.c static int iwl_mvm_sar_get_wgds_table(struct iwl_mvm *mvm)
mvm              1161 drivers/net/wireless/intel/iwlwifi/mvm/fw.c static int iwl_mvm_sar_geo_init(struct iwl_mvm *mvm)
mvm              1166 drivers/net/wireless/intel/iwlwifi/mvm/fw.c int iwl_mvm_sar_select_profile(struct iwl_mvm *mvm, int prof_a,
mvm              1172 drivers/net/wireless/intel/iwlwifi/mvm/fw.c int iwl_mvm_get_sar_geo_profile(struct iwl_mvm *mvm)
mvm              1177 drivers/net/wireless/intel/iwlwifi/mvm/fw.c int iwl_mvm_ppag_send_cmd(struct iwl_mvm *mvm)
mvm              1182 drivers/net/wireless/intel/iwlwifi/mvm/fw.c static int iwl_mvm_ppag_init(struct iwl_mvm *mvm)
mvm              1188 drivers/net/wireless/intel/iwlwifi/mvm/fw.c void iwl_mvm_send_recovery_cmd(struct iwl_mvm *mvm, u32 flags)
mvm              1190 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	u32 error_log_size = mvm->fw->ucode_capa.error_log_size;
mvm              1211 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		if (!mvm->error_recovery_buf)
mvm              1214 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		host_cmd.data[1] = mvm->error_recovery_buf;
mvm              1220 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_mvm_send_cmd(mvm, &host_cmd);
mvm              1221 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	kfree(mvm->error_recovery_buf);
mvm              1222 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	mvm->error_recovery_buf = NULL;
mvm              1225 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		IWL_ERR(mvm, "Failed to send recovery cmd %d\n", ret);
mvm              1233 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 			IWL_ERR(mvm,
mvm              1239 drivers/net/wireless/intel/iwlwifi/mvm/fw.c static int iwl_mvm_sar_init(struct iwl_mvm *mvm)
mvm              1243 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_mvm_sar_get_wrds_table(mvm);
mvm              1245 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		IWL_DEBUG_RADIO(mvm,
mvm              1255 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_mvm_sar_get_ewrd_table(mvm);
mvm              1258 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		IWL_DEBUG_RADIO(mvm,
mvm              1263 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_mvm_sar_select_profile(mvm, 1, 1);
mvm              1276 drivers/net/wireless/intel/iwlwifi/mvm/fw.c static int iwl_mvm_load_rt_fw(struct iwl_mvm *mvm)
mvm              1280 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	if (iwl_mvm_has_unified_ucode(mvm))
mvm              1281 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		return iwl_run_unified_mvm_ucode(mvm, false);
mvm              1283 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_run_init_mvm_ucode(mvm, false);
mvm              1286 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		IWL_ERR(mvm, "Failed to run INIT ucode: %d\n", ret);
mvm              1293 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	iwl_fw_dbg_stop_sync(&mvm->fwrt);
mvm              1294 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	iwl_trans_stop_device(mvm->trans);
mvm              1295 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_trans_start_hw(mvm->trans);
mvm              1299 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	iwl_dbg_tlv_time_point(&mvm->fwrt, IWL_FW_INI_TIME_POINT_EARLY, NULL);
mvm              1301 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	mvm->rfkill_safe_init_done = false;
mvm              1302 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_mvm_load_ucode_wait_alive(mvm, IWL_UCODE_REGULAR);
mvm              1306 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	mvm->rfkill_safe_init_done = true;
mvm              1308 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	iwl_dbg_tlv_time_point(&mvm->fwrt, IWL_FW_INI_TIME_POINT_AFTER_ALIVE,
mvm              1311 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	return iwl_init_paging(&mvm->fwrt, mvm->fwrt.cur_fw_img);
mvm              1314 drivers/net/wireless/intel/iwlwifi/mvm/fw.c int iwl_mvm_up(struct iwl_mvm *mvm)
mvm              1321 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	lockdep_assert_held(&mvm->mutex);
mvm              1323 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_trans_start_hw(mvm->trans);
mvm              1327 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_mvm_load_rt_fw(mvm);
mvm              1329 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		IWL_ERR(mvm, "Failed to start RT ucode: %d\n", ret);
mvm              1331 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 			iwl_fw_dbg_error_collect(&mvm->fwrt,
mvm              1336 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	iwl_get_shared_mem_conf(&mvm->fwrt);
mvm              1338 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_mvm_sf_update(mvm, NULL, false);
mvm              1340 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		IWL_ERR(mvm, "Failed to initialize Smart Fifo\n");
mvm              1342 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	if (!iwl_trans_dbg_ini_valid(mvm->trans)) {
mvm              1343 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		mvm->fwrt.dump.conf = FW_DBG_INVALID;
mvm              1345 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		if (mvm->fw->dbg.dest_tlv)
mvm              1346 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 			mvm->fwrt.dump.conf = FW_DBG_START_FROM_ALIVE;
mvm              1347 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		iwl_fw_start_dbg_conf(&mvm->fwrt, FW_DBG_START_FROM_ALIVE);
mvm              1350 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_send_tx_ant_cfg(mvm, iwl_mvm_get_valid_tx_ant(mvm));
mvm              1354 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	if (!iwl_mvm_has_unified_ucode(mvm)) {
mvm              1356 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		ret = iwl_send_phy_db_data(mvm->phy_db);
mvm              1361 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_send_phy_cfg_cmd(mvm);
mvm              1365 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_mvm_send_bt_init_conf(mvm);
mvm              1370 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	if (mvm->trans->trans_cfg->device_family >= IWL_DEVICE_FAMILY_22000) {
mvm              1371 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		ret = iwl_configure_rxq(mvm);
mvm              1373 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 			IWL_ERR(mvm, "Failed to configure RX queues: %d\n",
mvm              1379 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	if (iwl_mvm_has_new_rx_api(mvm)) {
mvm              1380 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		ret = iwl_send_rss_cfg_cmd(mvm);
mvm              1382 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 			IWL_ERR(mvm, "Failed to configure RSS queues: %d\n",
mvm              1389 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	for (i = 0; i < ARRAY_SIZE(mvm->fw_id_to_mac_id); i++)
mvm              1390 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		RCU_INIT_POINTER(mvm->fw_id_to_mac_id[i], NULL);
mvm              1392 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	mvm->tdls_cs.peer.sta_id = IWL_MVM_INVALID_STA;
mvm              1395 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	memset(&mvm->last_quota_cmd, 0xff, sizeof(mvm->last_quota_cmd));
mvm              1397 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	if (fw_has_capa(&mvm->fw->ucode_capa, IWL_UCODE_TLV_CAPA_DQA_SUPPORT)) {
mvm              1398 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		ret = iwl_mvm_send_dqa_cmd(mvm);
mvm              1404 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_mvm_add_aux_sta(mvm);
mvm              1411 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		sband = mvm->hw->wiphy->bands[i++];
mvm              1425 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		ret = iwl_mvm_phy_ctxt_add(mvm, &mvm->phy_ctxts[i],
mvm              1431 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	if (iwl_mvm_is_tt_in_fw(mvm)) {
mvm              1436 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		iwl_mvm_send_temp_report_ths_cmd(mvm);
mvm              1439 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		iwl_mvm_tt_tx_backoff(mvm, 0);
mvm              1449 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	if (iwl_mvm_is_ctdp_supported(mvm)) {
mvm              1450 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		ret = iwl_mvm_ctdp_command(mvm, CTDP_CMD_OPERATION_START,
mvm              1451 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 					   mvm->cooling_dev.cur_state);
mvm              1457 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	if (!fw_has_capa(&mvm->fw->ucode_capa, IWL_UCODE_TLV_CAPA_SET_LTR_GEN2))
mvm              1458 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		WARN_ON(iwl_mvm_config_ltr(mvm));
mvm              1460 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_mvm_power_update_device(mvm);
mvm              1468 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	if (!test_bit(IWL_MVM_STATUS_HW_CTKILL, &mvm->status)) {
mvm              1469 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		ret = iwl_mvm_init_mcc(mvm);
mvm              1474 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	if (fw_has_capa(&mvm->fw->ucode_capa, IWL_UCODE_TLV_CAPA_UMAC_SCAN)) {
mvm              1475 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		mvm->scan_type = IWL_SCAN_TYPE_NOT_SET;
mvm              1476 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		mvm->hb_scan_type = IWL_SCAN_TYPE_NOT_SET;
mvm              1477 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		ret = iwl_mvm_config_scan(mvm);
mvm              1482 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	if (test_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status))
mvm              1483 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		iwl_mvm_send_recovery_cmd(mvm, ERROR_RECOVERY_UPDATE_DB);
mvm              1485 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	if (iwl_acpi_get_eckv(mvm->dev, &mvm->ext_clock_valid))
mvm              1486 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		IWL_DEBUG_INFO(mvm, "ECKV table doesn't exist in BIOS\n");
mvm              1488 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_mvm_ppag_init(mvm);
mvm              1492 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_mvm_sar_init(mvm);
mvm              1494 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		ret = iwl_mvm_sar_geo_init(mvm);
mvm              1495 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	} else if (ret > 0 && !iwl_mvm_sar_get_wgds_table(mvm)) {
mvm              1502 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		IWL_ERR(mvm, "BIOS contains WGDS but no WRDS\n");
mvm              1508 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	iwl_mvm_leds_sync(mvm);
mvm              1510 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	IWL_DEBUG_INFO(mvm, "RT uCode started.\n");
mvm              1514 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		iwl_mvm_stop_device(mvm);
mvm              1518 drivers/net/wireless/intel/iwlwifi/mvm/fw.c int iwl_mvm_load_d3_fw(struct iwl_mvm *mvm)
mvm              1522 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	lockdep_assert_held(&mvm->mutex);
mvm              1524 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_trans_start_hw(mvm->trans);
mvm              1528 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_mvm_load_ucode_wait_alive(mvm, IWL_UCODE_WOWLAN);
mvm              1530 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		IWL_ERR(mvm, "Failed to start WoWLAN firmware: %d\n", ret);
mvm              1534 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_send_tx_ant_cfg(mvm, iwl_mvm_get_valid_tx_ant(mvm));
mvm              1539 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_send_phy_db_data(mvm->phy_db);
mvm              1543 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_send_phy_cfg_cmd(mvm);
mvm              1548 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	for (i = 0; i < ARRAY_SIZE(mvm->fw_id_to_mac_id); i++)
mvm              1549 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		RCU_INIT_POINTER(mvm->fw_id_to_mac_id[i], NULL);
mvm              1552 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	ret = iwl_mvm_add_aux_sta(mvm);
mvm              1558 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	iwl_mvm_stop_device(mvm);
mvm              1562 drivers/net/wireless/intel/iwlwifi/mvm/fw.c void iwl_mvm_rx_card_state_notif(struct iwl_mvm *mvm,
mvm              1569 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	IWL_DEBUG_RF_KILL(mvm, "Card state received: HW:%s SW:%s CT:%s\n",
mvm              1576 drivers/net/wireless/intel/iwlwifi/mvm/fw.c void iwl_mvm_rx_mfuart_notif(struct iwl_mvm *mvm,
mvm              1582 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 	IWL_DEBUG_INFO(mvm,
mvm              1590 drivers/net/wireless/intel/iwlwifi/mvm/fw.c 		IWL_DEBUG_INFO(mvm,
mvm                68 drivers/net/wireless/intel/iwlwifi/mvm/led.c static void iwl_mvm_send_led_fw_cmd(struct iwl_mvm *mvm, bool on)
mvm                81 drivers/net/wireless/intel/iwlwifi/mvm/led.c 	if (!iwl_mvm_firmware_running(mvm))
mvm                84 drivers/net/wireless/intel/iwlwifi/mvm/led.c 	err = iwl_mvm_send_cmd(mvm, &cmd);
mvm                87 drivers/net/wireless/intel/iwlwifi/mvm/led.c 		IWL_WARN(mvm, "LED command failed: %d\n", err);
mvm                90 drivers/net/wireless/intel/iwlwifi/mvm/led.c static void iwl_mvm_led_set(struct iwl_mvm *mvm, bool on)
mvm                92 drivers/net/wireless/intel/iwlwifi/mvm/led.c 	if (fw_has_capa(&mvm->fw->ucode_capa,
mvm                94 drivers/net/wireless/intel/iwlwifi/mvm/led.c 		iwl_mvm_send_led_fw_cmd(mvm, on);
mvm                98 drivers/net/wireless/intel/iwlwifi/mvm/led.c 	iwl_write32(mvm->trans, CSR_LED_REG,
mvm               105 drivers/net/wireless/intel/iwlwifi/mvm/led.c 	struct iwl_mvm *mvm = container_of(led_cdev, struct iwl_mvm, led);
mvm               107 drivers/net/wireless/intel/iwlwifi/mvm/led.c 	iwl_mvm_led_set(mvm, brightness > 0);
mvm               110 drivers/net/wireless/intel/iwlwifi/mvm/led.c int iwl_mvm_leds_init(struct iwl_mvm *mvm)
mvm               117 drivers/net/wireless/intel/iwlwifi/mvm/led.c 		IWL_ERR(mvm, "Blink led mode not supported, used default\n");
mvm               124 drivers/net/wireless/intel/iwlwifi/mvm/led.c 		IWL_INFO(mvm, "Led disabled\n");
mvm               130 drivers/net/wireless/intel/iwlwifi/mvm/led.c 	mvm->led.name = kasprintf(GFP_KERNEL, "%s-led",
mvm               131 drivers/net/wireless/intel/iwlwifi/mvm/led.c 				   wiphy_name(mvm->hw->wiphy));
mvm               132 drivers/net/wireless/intel/iwlwifi/mvm/led.c 	if (!mvm->led.name)
mvm               135 drivers/net/wireless/intel/iwlwifi/mvm/led.c 	mvm->led.brightness_set = iwl_led_brightness_set;
mvm               136 drivers/net/wireless/intel/iwlwifi/mvm/led.c 	mvm->led.max_brightness = 1;
mvm               139 drivers/net/wireless/intel/iwlwifi/mvm/led.c 		mvm->led.default_trigger =
mvm               140 drivers/net/wireless/intel/iwlwifi/mvm/led.c 			ieee80211_get_radio_led_name(mvm->hw);
mvm               142 drivers/net/wireless/intel/iwlwifi/mvm/led.c 	ret = led_classdev_register(mvm->trans->dev, &mvm->led);
mvm               144 drivers/net/wireless/intel/iwlwifi/mvm/led.c 		kfree(mvm->led.name);
mvm               145 drivers/net/wireless/intel/iwlwifi/mvm/led.c 		IWL_INFO(mvm, "Failed to enable led\n");
mvm               149 drivers/net/wireless/intel/iwlwifi/mvm/led.c 	mvm->init_status |= IWL_MVM_INIT_STATUS_LEDS_INIT_COMPLETE;
mvm               153 drivers/net/wireless/intel/iwlwifi/mvm/led.c void iwl_mvm_leds_sync(struct iwl_mvm *mvm)
mvm               155 drivers/net/wireless/intel/iwlwifi/mvm/led.c 	if (!(mvm->init_status & IWL_MVM_INIT_STATUS_LEDS_INIT_COMPLETE))
mvm               162 drivers/net/wireless/intel/iwlwifi/mvm/led.c 	if (mvm->trans->trans_cfg->device_family < IWL_DEVICE_FAMILY_8000)
mvm               165 drivers/net/wireless/intel/iwlwifi/mvm/led.c 	iwl_mvm_led_set(mvm, mvm->led.brightness > 0);
mvm               168 drivers/net/wireless/intel/iwlwifi/mvm/led.c void iwl_mvm_leds_exit(struct iwl_mvm *mvm)
mvm               170 drivers/net/wireless/intel/iwlwifi/mvm/led.c 	if (!(mvm->init_status & IWL_MVM_INIT_STATUS_LEDS_INIT_COMPLETE))
mvm               173 drivers/net/wireless/intel/iwlwifi/mvm/led.c 	led_classdev_unregister(&mvm->led);
mvm               174 drivers/net/wireless/intel/iwlwifi/mvm/led.c 	kfree(mvm->led.name);
mvm               175 drivers/net/wireless/intel/iwlwifi/mvm/led.c 	mvm->init_status &= ~IWL_MVM_INIT_STATUS_LEDS_INIT_COMPLETE;
mvm                92 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	struct iwl_mvm *mvm;
mvm               230 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c void iwl_mvm_mac_ctxt_recalc_tsf_id(struct iwl_mvm *mvm,
mvm               235 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		.mvm = mvm,
mvm               243 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		mvm->hw, IEEE80211_IFACE_ITER_RESUME_ALL,
mvm               253 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c int iwl_mvm_mac_ctxt_init(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
mvm               257 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		.mvm = mvm,
mvm               267 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	lockdep_assert_held(&mvm->mutex);
mvm               298 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		mvm->hw, IEEE80211_IFACE_ITER_RESUME_ALL,
mvm               315 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	if (WARN_ON_ONCE(test_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status)))
mvm               321 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		IWL_ERR(mvm, "Failed to init MAC context - no free ID!\n");
mvm               332 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		IWL_ERR(mvm, "Failed to init MAC context - no free TSF!\n");
mvm               370 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c static void iwl_mvm_ack_rates(struct iwl_mvm *mvm,
mvm               383 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	sband = mvm->hw->wiphy->bands[band];
mvm               456 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c static void iwl_mvm_mac_ctxt_set_ht_flags(struct iwl_mvm *mvm,
mvm               466 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	IWL_DEBUG_RATE(mvm, "protection mode set to %d\n", protection_mode);
mvm               484 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		IWL_ERR(mvm, "Illegal protection mode %d\n",
mvm               490 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c static void iwl_mvm_mac_ctxt_cmd_common(struct iwl_mvm *mvm,
mvm               542 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	iwl_mvm_ack_rates(mvm, vif, chanctx ? chanctx->def.chan->band
mvm               560 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		u8 txf = iwl_mvm_mac_ac_to_tx_fifo(mvm, i);
mvm               579 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	IWL_DEBUG_RATE(mvm, "use_cts_prot %d, ht_operation_mode %d\n",
mvm               585 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		iwl_mvm_mac_ctxt_set_ht_flags(mvm, vif, cmd);
mvm               588 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c static int iwl_mvm_mac_ctxt_send_cmd(struct iwl_mvm *mvm,
mvm               591 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	int ret = iwl_mvm_send_cmd_pdu(mvm, MAC_CONTEXT_CMD, 0,
mvm               594 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		IWL_ERR(mvm, "Failed to send MAC context (action:%d): %d\n",
mvm               599 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c static int iwl_mvm_mac_ctxt_cmd_sta(struct iwl_mvm *mvm,
mvm               610 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	iwl_mvm_mac_ctxt_cmd_common(mvm, vif, &cmd, bssid_override, action);
mvm               657 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		IWL_DEBUG_INFO(mvm, "DTIM TBTT is 0x%llx/0x%x, offset %d\n",
mvm               673 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 			sta = rcu_dereference(mvm->fw_id_to_mac_id[ap_sta_id]);
mvm               699 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	ctxt_sta->listen_interval = cpu_to_le32(mvm->hw->conf.listen_interval);
mvm               712 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	return iwl_mvm_mac_ctxt_send_cmd(mvm, &cmd);
mvm               715 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c static int iwl_mvm_mac_ctxt_cmd_listener(struct iwl_mvm *mvm,
mvm               720 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	u32 tfd_queue_msk = BIT(mvm->snif_queue);
mvm               725 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	iwl_mvm_mac_ctxt_cmd_common(mvm, vif, &cmd, NULL, action);
mvm               733 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	ieee80211_hw_set(mvm->hw, RX_INCLUDES_FCS);
mvm               736 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	ret = iwl_mvm_allocate_int_sta(mvm, &mvm->snif_sta, tfd_queue_msk,
mvm               741 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	return iwl_mvm_mac_ctxt_send_cmd(mvm, &cmd);
mvm               744 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c static int iwl_mvm_mac_ctxt_cmd_ibss(struct iwl_mvm *mvm,
mvm               753 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	iwl_mvm_mac_ctxt_cmd_common(mvm, vif, &cmd, NULL, action);
mvm               765 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	return iwl_mvm_mac_ctxt_send_cmd(mvm, &cmd);
mvm               782 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c static int iwl_mvm_mac_ctxt_cmd_p2p_device(struct iwl_mvm *mvm,
mvm               791 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	iwl_mvm_mac_ctxt_cmd_common(mvm, vif, &cmd, NULL, action);
mvm               805 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		mvm->hw, IEEE80211_IFACE_ITER_RESUME_ALL,
mvm               809 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	return iwl_mvm_mac_ctxt_send_cmd(mvm, &cmd);
mvm               812 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c void iwl_mvm_mac_ctxt_set_tim(struct iwl_mvm *mvm,
mvm               833 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		IWL_WARN(mvm, "Unable to find TIM Element in beacon\n");
mvm               867 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c static void iwl_mvm_mac_ctxt_set_tx(struct iwl_mvm *mvm,
mvm               885 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		iwl_mvm_bt_coex_tx_prio(mvm, (void *)beacon->data, info, 0) <<
mvm               889 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	if (!fw_has_capa(&mvm->fw->ucode_capa,
mvm               891 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		iwl_mvm_toggle_tx_ant(mvm, &mvm->mgmt_last_antenna_idx);
mvm               894 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		cpu_to_le32(BIT(mvm->mgmt_last_antenna_idx) <<
mvm               905 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c int iwl_mvm_mac_ctxt_send_beacon_cmd(struct iwl_mvm *mvm,
mvm               921 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	return iwl_mvm_send_cmd(mvm, &cmd);
mvm               924 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c static int iwl_mvm_mac_ctxt_send_beacon_v6(struct iwl_mvm *mvm,
mvm               931 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	iwl_mvm_mac_ctxt_set_tx(mvm, vif, beacon, &beacon_cmd.tx);
mvm               936 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		iwl_mvm_mac_ctxt_set_tim(mvm, &beacon_cmd.tim_idx,
mvm               940 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	return iwl_mvm_mac_ctxt_send_beacon_cmd(mvm, beacon, &beacon_cmd,
mvm               944 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c static int iwl_mvm_mac_ctxt_send_beacon_v7(struct iwl_mvm *mvm,
mvm               951 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	iwl_mvm_mac_ctxt_set_tx(mvm, vif, beacon, &beacon_cmd.tx);
mvm               956 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		iwl_mvm_mac_ctxt_set_tim(mvm, &beacon_cmd.tim_idx,
mvm               969 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	return iwl_mvm_mac_ctxt_send_beacon_cmd(mvm, beacon, &beacon_cmd,
mvm               973 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c static int iwl_mvm_mac_ctxt_send_beacon_v9(struct iwl_mvm *mvm,
mvm               993 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		iwl_mvm_mac_ctxt_set_tim(mvm, &beacon_cmd.tim_idx,
mvm              1006 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	return iwl_mvm_mac_ctxt_send_beacon_cmd(mvm, beacon, &beacon_cmd,
mvm              1010 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c int iwl_mvm_mac_ctxt_send_beacon(struct iwl_mvm *mvm,
mvm              1020 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	if (!fw_has_capa(&mvm->fw->ucode_capa,
mvm              1022 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		return iwl_mvm_mac_ctxt_send_beacon_v6(mvm, vif, beacon);
mvm              1024 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	if (fw_has_api(&mvm->fw->ucode_capa,
mvm              1026 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		return iwl_mvm_mac_ctxt_send_beacon_v9(mvm, vif, beacon);
mvm              1028 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	return iwl_mvm_mac_ctxt_send_beacon_v7(mvm, vif, beacon);
mvm              1032 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c int iwl_mvm_mac_ctxt_beacon_changed(struct iwl_mvm *mvm,
mvm              1041 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	beacon = ieee80211_beacon_get_template(mvm->hw, vif, NULL);
mvm              1046 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	if (mvm->beacon_inject_active)
mvm              1050 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	ret = iwl_mvm_mac_ctxt_send_beacon(mvm, vif, beacon);
mvm              1056 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	struct iwl_mvm *mvm;
mvm              1082 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c static void iwl_mvm_mac_ctxt_cmd_fill_ap(struct iwl_mvm *mvm,
mvm              1090 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		.mvm = mvm,
mvm              1105 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	if (mvmvif->ap_assoc_sta_count || !mvm->drop_bcn_ap_mode) {
mvm              1107 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		IWL_DEBUG_HC(mvm, "Asking FW to pass beacons\n");
mvm              1109 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		IWL_DEBUG_HC(mvm, "No need to receive beacons\n");
mvm              1116 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	if (!fw_has_api(&mvm->fw->ucode_capa,
mvm              1132 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 			mvm->hw, IEEE80211_IFACE_ITER_RESUME_ALL,
mvm              1141 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 			mvmvif->ap_beacon_time = iwl_mvm_get_systime(mvm);
mvm              1152 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c static int iwl_mvm_mac_ctxt_cmd_ap(struct iwl_mvm *mvm,
mvm              1161 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	iwl_mvm_mac_ctxt_cmd_common(mvm, vif, &cmd, NULL, action);
mvm              1164 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	iwl_mvm_mac_ctxt_cmd_fill_ap(mvm, vif, &cmd, &cmd.ap,
mvm              1167 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	return iwl_mvm_mac_ctxt_send_cmd(mvm, &cmd);
mvm              1170 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c static int iwl_mvm_mac_ctxt_cmd_go(struct iwl_mvm *mvm,
mvm              1180 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	iwl_mvm_mac_ctxt_cmd_common(mvm, vif, &cmd, NULL, action);
mvm              1183 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	iwl_mvm_mac_ctxt_cmd_fill_ap(mvm, vif, &cmd, &cmd.go.ap,
mvm              1192 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	return iwl_mvm_mac_ctxt_send_cmd(mvm, &cmd);
mvm              1195 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c static int iwl_mvm_mac_ctx_send(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm              1201 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		return iwl_mvm_mac_ctxt_cmd_sta(mvm, vif, action,
mvm              1207 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 			return iwl_mvm_mac_ctxt_cmd_ap(mvm, vif, action);
mvm              1209 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 			return iwl_mvm_mac_ctxt_cmd_go(mvm, vif, action);
mvm              1212 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		return iwl_mvm_mac_ctxt_cmd_listener(mvm, vif, action);
mvm              1214 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		return iwl_mvm_mac_ctxt_cmd_p2p_device(mvm, vif, action);
mvm              1216 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		return iwl_mvm_mac_ctxt_cmd_ibss(mvm, vif, action);
mvm              1224 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c int iwl_mvm_mac_ctxt_add(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
mvm              1233 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	ret = iwl_mvm_mac_ctx_send(mvm, vif, FW_CTXT_ACTION_ADD,
mvm              1239 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	iwl_mvm_set_last_nonqos_seq(mvm, vif);
mvm              1245 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c int iwl_mvm_mac_ctxt_changed(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm              1254 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	return iwl_mvm_mac_ctx_send(mvm, vif, FW_CTXT_ACTION_MODIFY,
mvm              1258 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c int iwl_mvm_mac_ctxt_remove(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
mvm              1274 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	ret = iwl_mvm_send_cmd_pdu(mvm, MAC_CONTEXT_CMD, 0,
mvm              1277 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		IWL_ERR(mvm, "Failed to remove MAC context: %d\n", ret);
mvm              1284 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		__clear_bit(IEEE80211_HW_RX_INCLUDES_FCS, mvm->hw->flags);
mvm              1285 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		iwl_mvm_dealloc_snif_sta(mvm);
mvm              1291 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c static void iwl_mvm_csa_count_down(struct iwl_mvm *mvm,
mvm              1307 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		iwl_mvm_mac_ctxt_beacon_changed(mvm, csa_vif);
mvm              1316 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 			iwl_mvm_schedule_csa_period(mvm, csa_vif,
mvm              1324 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		RCU_INIT_POINTER(mvm->csa_vif, NULL);
mvm              1328 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c void iwl_mvm_rx_beacon_notif(struct iwl_mvm *mvm,
mvm              1339 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	lockdep_assert_held(&mvm->mutex);
mvm              1341 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	mvm->ap_last_beacon_gp2 = le32_to_cpu(beacon->gp2);
mvm              1343 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	if (!iwl_mvm_is_short_beacon_notif_supported(mvm)) {
mvm              1347 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		mvm->ibss_manager = beacon_v5->ibss_mgr_status != 0;
mvm              1348 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		agg_status = iwl_mvm_get_agg_status(mvm, beacon_notify_hdr);
mvm              1350 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		IWL_DEBUG_RX(mvm,
mvm              1354 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 			     mvm->ap_last_beacon_gp2,
mvm              1357 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		mvm->ibss_manager = beacon->ibss_mgr_status != 0;
mvm              1359 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		IWL_DEBUG_RX(mvm,
mvm              1362 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 			     mvm->ap_last_beacon_gp2);
mvm              1365 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	csa_vif = rcu_dereference_protected(mvm->csa_vif,
mvm              1366 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 					    lockdep_is_held(&mvm->mutex));
mvm              1368 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		iwl_mvm_csa_count_down(mvm, csa_vif, mvm->ap_last_beacon_gp2,
mvm              1371 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	tx_blocked_vif = rcu_dereference_protected(mvm->csa_tx_blocked_vif,
mvm              1372 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 						lockdep_is_held(&mvm->mutex));
mvm              1382 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		if (!mvm->csa_tx_block_bcn_timeout)
mvm              1383 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 			mvm->csa_tx_block_bcn_timeout =
mvm              1386 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 			mvm->csa_tx_block_bcn_timeout--;
mvm              1389 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		if (mvm->csa_tx_block_bcn_timeout == 0) {
mvm              1390 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 			iwl_mvm_modify_all_sta_disable_tx(mvm, mvmvif, false);
mvm              1391 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 			RCU_INIT_POINTER(mvm->csa_tx_blocked_vif, NULL);
mvm              1396 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c void iwl_mvm_rx_missed_beacons_notif(struct iwl_mvm *mvm,
mvm              1408 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	IWL_DEBUG_INFO(mvm,
mvm              1418 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	vif = iwl_mvm_rcu_dereference_vif_id(mvm, id, true);
mvm              1430 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		iwl_mvm_connection_loss(mvm, vif, "missed beacons");
mvm              1434 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	iwl_dbg_tlv_time_point(&mvm->fwrt,
mvm              1437 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	trigger = iwl_fw_dbg_trigger_on(&mvm->fwrt, ieee80211_vif_to_wdev(vif),
mvm              1451 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		iwl_fw_dbg_collect_trig(&mvm->fwrt, trigger, NULL);
mvm              1457 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c void iwl_mvm_rx_stored_beacon_notif(struct iwl_mvm *mvm,
mvm              1471 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		IWL_ERR(mvm, "alloc_skb failed\n");
mvm              1493 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	ieee80211_rx_napi(mvm->hw, NULL, skb, NULL);
mvm              1496 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c void iwl_mvm_probe_resp_data_notif(struct iwl_mvm *mvm,
mvm              1510 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	IWL_DEBUG_INFO(mvm, "Probe response data notif: noa %d, csa %d\n",
mvm              1513 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	vif = iwl_mvm_rcu_dereference_vif_id(mvm, id, false);
mvm              1538 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 					lockdep_is_held(&mvmvif->mvm->mutex));
mvm              1549 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c void iwl_mvm_channel_switch_noa_notif(struct iwl_mvm *mvm,
mvm              1569 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 	vif = rcu_dereference(mvm->vif_id_to_mac[mac_id]);
mvm              1574 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		csa_vif = rcu_dereference(mvm->csa_vif);
mvm              1585 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		IWL_DEBUG_INFO(mvm, "Channel Switch Started Notification\n");
mvm              1587 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		schedule_delayed_work(&mvm->cs_tx_unblock_dwork,
mvm              1595 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		RCU_INIT_POINTER(mvm->csa_vif, NULL);
mvm              1598 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 		if (!fw_has_capa(&mvm->fw->ucode_capa,
mvm              1600 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c 			iwl_mvm_csa_client_absent(mvm, vif);
mvm               214 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c static void iwl_mvm_reset_phy_ctxts(struct iwl_mvm *mvm)
mvm               218 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	memset(mvm->phy_ctxts, 0, sizeof(mvm->phy_ctxts));
mvm               220 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mvm->phy_ctxts[i].id = i;
mvm               221 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mvm->phy_ctxts[i].ref = 0;
mvm               232 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm               235 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	IWL_DEBUG_LAR(mvm, "Getting regdomain data for %s from FW\n", alpha2);
mvm               237 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	lockdep_assert_held(&mvm->mutex);
mvm               239 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	resp = iwl_mvm_update_mcc(mvm, alpha2, src_id);
mvm               241 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		IWL_DEBUG_LAR(mvm, "Could not get update from FW %d\n",
mvm               253 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	regd = iwl_parse_nvm_mcc_info(mvm->trans->dev, mvm->cfg,
mvm               263 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		IWL_DEBUG_LAR(mvm, "Could not get parse update from FW %d\n",
mvm               268 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	IWL_DEBUG_LAR(mvm, "setting alpha2 from FW to %s (0x%x, 0x%x) src=%d\n",
mvm               270 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mvm->lar_regdom_set = true;
mvm               271 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mvm->mcc_src = src_id;
mvm               277 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c void iwl_mvm_update_changed_regdom(struct iwl_mvm *mvm)
mvm               282 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (!iwl_mvm_is_lar_supported(mvm))
mvm               285 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	regd = iwl_mvm_get_current_regdomain(mvm, &changed);
mvm               289 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			regulatory_set_wiphy_regd(mvm->hw->wiphy, regd);
mvm               295 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c struct ieee80211_regdomain *iwl_mvm_get_current_regdomain(struct iwl_mvm *mvm,
mvm               298 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	return iwl_mvm_get_regdomain(mvm->hw->wiphy, "ZZ",
mvm               299 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 				     iwl_mvm_is_wifi_mcc_supported(mvm) ?
mvm               304 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c int iwl_mvm_init_fw_regd(struct iwl_mvm *mvm)
mvm               311 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			rtnl_dereference(mvm->hw->wiphy->regd);
mvm               317 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	used_src = mvm->mcc_src;
mvm               318 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (iwl_mvm_is_wifi_mcc_supported(mvm)) {
mvm               320 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		regd = iwl_mvm_get_current_regdomain(mvm, NULL);
mvm               326 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	regd = iwl_mvm_get_regdomain(mvm->hw->wiphy, r->alpha2, used_src,
mvm               333 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		ret = regulatory_set_wiphy_regd_sync_rtnl(mvm->hw->wiphy, regd);
mvm               357 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c int iwl_mvm_mac_setup_register(struct iwl_mvm *mvm)
mvm               359 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct ieee80211_hw *hw = mvm->hw;
mvm               368 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	bool unified = fw_has_capa(&mvm->fw->ucode_capa,
mvm               402 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (mvm->trans->trans_cfg->device_family >= IWL_DEVICE_FAMILY_9000)
mvm               406 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (iwl_mvm_has_tlc_offload(mvm)) {
mvm               411 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (iwl_mvm_has_new_rx_api(mvm))
mvm               414 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (fw_has_capa(&mvm->fw->ucode_capa,
mvm               417 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	} else if (WARN_ON(iwl_mvm_has_new_tx_api(mvm))) {
mvm               426 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (mvm->trans->num_rx_queues > 1)
mvm               429 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (mvm->trans->max_skb_frags)
mvm               445 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (!iwl_mvm_has_tlc_offload(mvm))
mvm               450 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	hw->max_tx_fragments = mvm->trans->max_skb_frags;
mvm               452 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	BUILD_BUG_ON(ARRAY_SIZE(mvm->ciphers) < ARRAY_SIZE(mvm_ciphers) + 6);
mvm               453 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	memcpy(mvm->ciphers, mvm_ciphers, sizeof(mvm_ciphers));
mvm               455 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	hw->wiphy->cipher_suites = mvm->ciphers;
mvm               457 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (iwl_mvm_has_new_rx_api(mvm)) {
mvm               458 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mvm->ciphers[hw->wiphy->n_cipher_suites] =
mvm               461 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mvm->ciphers[hw->wiphy->n_cipher_suites] =
mvm               472 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mvm->ciphers[hw->wiphy->n_cipher_suites] =
mvm               475 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		if (iwl_mvm_has_new_rx_api(mvm)) {
mvm               476 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			mvm->ciphers[hw->wiphy->n_cipher_suites] =
mvm               479 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			mvm->ciphers[hw->wiphy->n_cipher_suites] =
mvm               486 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (mvm->fw->cs[0].cipher) {
mvm               487 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		const struct iwl_fw_cipher_scheme *fwcs = &mvm->fw->cs[0];
mvm               488 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		struct ieee80211_cipher_scheme *cs = &mvm->cs[0];
mvm               490 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mvm->hw->n_cipher_schemes = 1;
mvm               502 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mvm->hw->cipher_schemes = mvm->cs;
mvm               503 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mvm->ciphers[hw->wiphy->n_cipher_suites] = cs->cipher;
mvm               507 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (fw_has_capa(&mvm->fw->ucode_capa,
mvm               537 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (iwl_mvm_is_lar_supported(mvm))
mvm               554 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	memcpy(mvm->addresses[0].addr, mvm->nvm_data->hw_addr, ETH_ALEN);
mvm               555 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	hw->wiphy->addresses = mvm->addresses;
mvm               559 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	num_mac = (mvm->nvm_data->n_hw_addrs > 1) ?
mvm               560 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		min(IWL_MVM_MAX_ADDRESSES, mvm->nvm_data->n_hw_addrs) : 1;
mvm               563 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		memcpy(mvm->addresses[i].addr, mvm->addresses[i-1].addr,
mvm               565 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mvm->addresses[i].addr[5]++;
mvm               569 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_reset_phy_ctxts(mvm);
mvm               571 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	hw->wiphy->max_scan_ie_len = iwl_mvm_max_scan_ie_len(mvm);
mvm               579 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (fw_has_capa(&mvm->fw->ucode_capa, IWL_UCODE_TLV_CAPA_UMAC_SCAN))
mvm               580 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mvm->max_scans = IWL_MVM_MAX_UMAC_SCANS;
mvm               582 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mvm->max_scans = IWL_MVM_MAX_LMAC_SCANS;
mvm               584 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (mvm->nvm_data->bands[NL80211_BAND_2GHZ].n_channels)
mvm               586 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			&mvm->nvm_data->bands[NL80211_BAND_2GHZ];
mvm               587 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (mvm->nvm_data->bands[NL80211_BAND_5GHZ].n_channels) {
mvm               589 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			&mvm->nvm_data->bands[NL80211_BAND_5GHZ];
mvm               591 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		if (fw_has_capa(&mvm->fw->ucode_capa,
mvm               593 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		    fw_has_api(&mvm->fw->ucode_capa,
mvm               599 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	hw->wiphy->hw_version = mvm->trans->hw_id;
mvm               629 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (fw_has_capa(&mvm->fw->ucode_capa,
mvm               632 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (fw_has_capa(&mvm->fw->ucode_capa,
mvm               636 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (fw_has_capa(&mvm->fw->ucode_capa,
mvm               641 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (fw_has_capa(&mvm->fw->ucode_capa,
mvm               645 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (fw_has_api(&mvm->fw->ucode_capa,
mvm               655 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (iwl_mvm_is_oce_supported(mvm)) {
mvm               666 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (mvm->nvm_data->sku_cap_11ax_enable &&
mvm               676 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mvm->rts_threshold = IEEE80211_MAX_RTS_THRESHOLD;
mvm               679 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if ((unified || mvm->fw->img[IWL_UCODE_WOWLAN].num_sec) &&
mvm               680 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	    mvm->trans->ops->d3_suspend &&
mvm               681 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	    mvm->trans->ops->d3_resume &&
mvm               682 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	    device_can_wakeup(mvm->trans->dev)) {
mvm               683 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mvm->wowlan.flags |= WIPHY_WOWLAN_MAGIC_PKT |
mvm               689 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			mvm->wowlan.flags |= WIPHY_WOWLAN_SUPPORTS_GTK_REKEY |
mvm               693 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mvm->wowlan.n_patterns = IWL_WOWLAN_MAX_PATTERNS;
mvm               694 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mvm->wowlan.pattern_min_len = IWL_WOWLAN_MIN_PATTERN_LEN;
mvm               695 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mvm->wowlan.pattern_max_len = IWL_WOWLAN_MAX_PATTERN_LEN;
mvm               696 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mvm->wowlan.max_nd_match_sets = IWL_SCAN_MAX_PROFILES;
mvm               697 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		hw->wiphy->wowlan = &mvm->wowlan;
mvm               703 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mvm->bcast_filters = iwl_mvm_default_bcast_filters;
mvm               706 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	ret = iwl_mvm_leds_init(mvm);
mvm               710 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (fw_has_capa(&mvm->fw->ucode_capa,
mvm               712 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		IWL_DEBUG_TDLS(mvm, "TDLS supported\n");
mvm               717 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (fw_has_capa(&mvm->fw->ucode_capa,
mvm               719 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		IWL_DEBUG_TDLS(mvm, "TDLS channel switch supported\n");
mvm               723 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	hw->netdev_features |= mvm->cfg->features;
mvm               724 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (!iwl_mvm_is_csum_supported(mvm)) {
mvm               732 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (mvm->cfg->vht_mu_mimo_supported)
mvm               736 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	ret = ieee80211_register_hw(mvm->hw);
mvm               738 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_leds_exit(mvm);
mvm               744 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c static void iwl_mvm_tx_skb(struct iwl_mvm *mvm, struct sk_buff *skb,
mvm               748 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		if (likely(iwl_mvm_tx_skb_sta(mvm, skb, sta) == 0))
mvm               751 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		if (likely(iwl_mvm_tx_skb_non_sta(mvm, skb) == 0))
mvm               755 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	ieee80211_free_txskb(mvm->hw, skb);
mvm               762 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm               769 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (iwl_mvm_is_radio_killed(mvm)) {
mvm               770 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		IWL_DEBUG_DROP(mvm, "Dropping - RF/CT KILL\n");
mvm               775 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	    !test_bit(IWL_MVM_STATUS_ROC_RUNNING, &mvm->status) &&
mvm               776 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	    !test_bit(IWL_MVM_STATUS_ROC_AUX_RUNNING, &mvm->status))
mvm               795 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			sta = rcu_dereference(mvm->fw_id_to_mac_id[ap_sta_id]);
mvm               801 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_tx_skb(mvm, skb, sta);
mvm               809 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm               838 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			      (mvm->trans->system_pm_mode ==
mvm               844 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 					IWL_DEBUG_TX(mvm,
mvm               851 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			iwl_mvm_tx_skb(mvm, skb, txq->sta);
mvm               860 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm               897 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	list_add_tail(&mvmtxq->list, &mvm->add_stream_txqs);
mvm               898 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	schedule_work(&mvm->add_stream_wk);
mvm               909 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c iwl_mvm_ampdu_check_trigger(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm               916 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	trig = iwl_fw_dbg_trigger_on(&mvm->fwrt, ieee80211_vif_to_wdev(vif),
mvm               928 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		CHECK_BA_TRIGGER(mvm, trig, ba_trig->tx_ba_start, tid,
mvm               934 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		CHECK_BA_TRIGGER(mvm, trig, ba_trig->tx_ba_stop, tid,
mvm               939 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		CHECK_BA_TRIGGER(mvm, trig, ba_trig->rx_ba_start, tid,
mvm               944 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		CHECK_BA_TRIGGER(mvm, trig, ba_trig->rx_ba_stop, tid,
mvm               957 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm               967 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	IWL_DEBUG_HT(mvm, "A-MPDU action on addr %pM tid %d: action %d\n",
mvm               970 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (!(mvm->nvm_data->sku_cap_11n_enable))
mvm               973 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm               981 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			struct iwl_mvm_tcm_mac *mdata = &mvm->tcm.data[macid];
mvm               991 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		ret = iwl_mvm_sta_rx_agg(mvm, sta, tid, *ssn, true, buf_size,
mvm               995 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		ret = iwl_mvm_sta_rx_agg(mvm, sta, tid, 0, false, buf_size,
mvm              1003 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		ret = iwl_mvm_sta_tx_agg_start(mvm, vif, sta, tid, ssn);
mvm              1006 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		ret = iwl_mvm_sta_tx_agg_stop(mvm, vif, sta, tid);
mvm              1010 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		ret = iwl_mvm_sta_tx_agg_flush(mvm, vif, sta, tid);
mvm              1013 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		ret = iwl_mvm_sta_tx_agg_oper(mvm, vif, sta, tid,
mvm              1028 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_ampdu_check_trigger(mvm, vif, sta, tid,
mvm              1031 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              1039 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = data;
mvm              1045 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	spin_lock_bh(&mvm->time_event_lock);
mvm              1046 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_te_clear_data(mvm, &mvmvif->time_event_data);
mvm              1047 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	spin_unlock_bh(&mvm->time_event_lock);
mvm              1054 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c static void iwl_mvm_restart_cleanup(struct iwl_mvm *mvm)
mvm              1056 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_stop_device(mvm);
mvm              1058 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mvm->cur_aid = 0;
mvm              1060 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mvm->scan_status = 0;
mvm              1061 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mvm->ps_disabled = false;
mvm              1062 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mvm->rfkill_safe_init_done = false;
mvm              1065 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_cleanup_roc_te(mvm);
mvm              1066 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	ieee80211_remain_on_channel_expired(mvm->hw);
mvm              1068 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_ftm_restart(mvm);
mvm              1074 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	ieee80211_iterate_interfaces(mvm->hw, 0, iwl_mvm_cleanup_iterator, mvm);
mvm              1076 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mvm->p2p_device_vif = NULL;
mvm              1078 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_reset_phy_ctxts(mvm);
mvm              1079 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	memset(mvm->fw_key_table, 0, sizeof(mvm->fw_key_table));
mvm              1080 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	memset(&mvm->last_bt_notif, 0, sizeof(mvm->last_bt_notif));
mvm              1081 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	memset(&mvm->last_bt_ci_cmd, 0, sizeof(mvm->last_bt_ci_cmd));
mvm              1083 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	ieee80211_wake_queues(mvm->hw);
mvm              1085 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mvm->vif_count = 0;
mvm              1086 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mvm->rx_ba_sessions = 0;
mvm              1087 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mvm->fwrt.dump.conf = FW_DBG_INVALID;
mvm              1088 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mvm->monitor_on = false;
mvm              1091 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_accu_radio_stats(mvm);
mvm              1094 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c int __iwl_mvm_mac_start(struct iwl_mvm *mvm)
mvm              1098 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	lockdep_assert_held(&mvm->mutex);
mvm              1100 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (test_bit(IWL_MVM_STATUS_HW_RESTART_REQUESTED, &mvm->status)) {
mvm              1105 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		set_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status);
mvm              1106 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		clear_bit(IWL_MVM_STATUS_HW_RESTART_REQUESTED, &mvm->status);
mvm              1108 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_restart_cleanup(mvm);
mvm              1110 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	ret = iwl_mvm_up(mvm);
mvm              1112 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_dbg_tlv_time_point(&mvm->fwrt, IWL_FW_INI_TIME_POINT_POST_INIT,
mvm              1114 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_dbg_tlv_time_point(&mvm->fwrt, IWL_FW_INI_TIME_POINT_PERIODIC,
mvm              1117 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (ret && test_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status)) {
mvm              1122 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		clear_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status);
mvm              1130 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              1133 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              1134 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	ret = __iwl_mvm_mac_start(mvm);
mvm              1135 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              1140 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c static void iwl_mvm_restart_complete(struct iwl_mvm *mvm)
mvm              1144 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              1146 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	clear_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status);
mvm              1148 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	ret = iwl_mvm_update_quotas(mvm, true, NULL);
mvm              1150 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		IWL_ERR(mvm, "Failed to update quotas after restart (%d)\n",
mvm              1153 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_send_recovery_cmd(mvm, ERROR_RECOVERY_END_OF_RECOVERY);
mvm              1159 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_teardown_tdls_peers(mvm);
mvm              1161 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              1168 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              1172 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_restart_complete(mvm);
mvm              1179 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c void __iwl_mvm_mac_stop(struct iwl_mvm *mvm)
mvm              1181 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	lockdep_assert_held(&mvm->mutex);
mvm              1186 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	memset(&mvm->accu_radio_stats, 0, sizeof(mvm->accu_radio_stats));
mvm              1194 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	flush_work(&mvm->roc_done_wk);
mvm              1196 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_stop_device(mvm);
mvm              1198 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_async_handlers_purge(mvm);
mvm              1202 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_del_aux_sta(mvm);
mvm              1211 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (test_and_clear_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status) ||
mvm              1213 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			       &mvm->status))
mvm              1214 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		ieee80211_iterate_interfaces(mvm->hw, 0,
mvm              1215 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 					     iwl_mvm_cleanup_iterator, mvm);
mvm              1220 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (fw_has_capa(&mvm->fw->ucode_capa, IWL_UCODE_TLV_CAPA_UMAC_SCAN)) {
mvm              1223 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		for (i = 0; i < mvm->max_scans; i++) {
mvm              1224 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			if (WARN_ONCE(mvm->scan_uid_status[i],
mvm              1227 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 				mvm->scan_uid_status[i] = 0;
mvm              1234 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              1236 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	flush_work(&mvm->async_handlers_wk);
mvm              1237 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	flush_work(&mvm->add_stream_wk);
mvm              1247 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	clear_bit(IWL_MVM_STATUS_FIRMWARE_RUNNING, &mvm->status);
mvm              1249 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	cancel_delayed_work_sync(&mvm->cs_tx_unblock_dwork);
mvm              1250 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	cancel_delayed_work_sync(&mvm->scan_timeout_dwork);
mvm              1251 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_fw_free_dump_desc(&mvm->fwrt);
mvm              1253 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              1254 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	__iwl_mvm_mac_stop(mvm);
mvm              1255 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              1261 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	cancel_work_sync(&mvm->async_handlers_wk);
mvm              1264 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c static struct iwl_mvm_phy_ctxt *iwl_mvm_get_free_phy_ctxt(struct iwl_mvm *mvm)
mvm              1268 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	lockdep_assert_held(&mvm->mutex);
mvm              1271 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		if (!mvm->phy_ctxts[i].ref)
mvm              1272 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			return &mvm->phy_ctxts[i];
mvm              1274 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	IWL_ERR(mvm, "No available PHY context\n");
mvm              1278 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c static int iwl_mvm_set_tx_power(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm              1295 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (fw_has_api(&mvm->fw->ucode_capa,
mvm              1298 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	else if (fw_has_capa(&mvm->fw->ucode_capa,
mvm              1304 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	return iwl_mvm_send_cmd_pdu(mvm, REDUCE_TX_POWER_CMD, 0, len, &cmd);
mvm              1311 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              1314 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              1326 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mvmsta = iwl_mvm_sta_from_staid_protected(mvm,
mvm              1334 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		if (!fw_has_capa(&mvm->fw->ucode_capa,
mvm              1336 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			iwl_mvm_sta_modify_disable_tx(mvm, mvmsta, false);
mvm              1338 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_mac_ctxt_changed(mvm, vif, false, NULL);
mvm              1340 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		if (!fw_has_capa(&mvm->fw->ucode_capa,
mvm              1342 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			ret = iwl_mvm_enable_beacon_filter(mvm, vif, 0);
mvm              1346 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			iwl_mvm_stop_session_protection(mvm, vif);
mvm              1352 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	ret = iwl_mvm_power_update_ps(mvm);
mvm              1355 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              1363 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              1371 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	IWL_DEBUG_MAC80211(mvm, "Abort CSA on mac %d\n", mvmvif->id);
mvm              1373 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              1374 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	WARN_ON(iwl_mvm_send_cmd_pdu(mvm,
mvm              1378 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              1385 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm;
mvm              1391 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mvm = mvmvif->mvm;
mvm              1393 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_abort_channel_switch(mvm->hw, vif);
mvm              1400 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              1404 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mvmvif->mvm = mvm;
mvm              1413 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              1416 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (test_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status))
mvm              1421 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	ret = iwl_mvm_mac_ctxt_init(mvm, vif);
mvm              1425 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	rcu_assign_pointer(mvm->vif_id_to_mac[mvmvif->id], vif);
mvm              1429 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mvm->vif_count++;
mvm              1444 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		ret = iwl_mvm_alloc_bcast_sta(mvm, vif);
mvm              1446 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			IWL_ERR(mvm, "Failed to allocate bcast sta\n");
mvm              1454 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		ret = iwl_mvm_allocate_int_sta(mvm, &mvmvif->mcast_sta,
mvm              1460 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_vif_dbgfs_register(mvm, vif);
mvm              1466 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	ret = iwl_mvm_mac_ctxt_add(mvm, vif);
mvm              1470 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	ret = iwl_mvm_power_update_mac(mvm);
mvm              1475 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	ret = iwl_mvm_disable_beacon_filter(mvm, vif, 0);
mvm              1479 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (!mvm->bf_allowed_vif &&
mvm              1481 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mvm->bf_allowed_vif = mvmvif;
mvm              1493 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mvmvif->phy_ctxt = iwl_mvm_get_free_phy_ctxt(mvm);
mvm              1499 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_phy_ctxt_ref(mvm, mvmvif->phy_ctxt);
mvm              1500 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		ret = iwl_mvm_binding_add_vif(mvm, vif);
mvm              1504 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		ret = iwl_mvm_add_p2p_bcast_sta(mvm, vif);
mvm              1510 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mvm->p2p_device_vif = vif;
mvm              1513 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_tcm_add_vif(mvm, vif);
mvm              1518 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mvm->monitor_on = true;
mvm              1520 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_vif_dbgfs_register(mvm, vif);
mvm              1524 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_binding_remove_vif(mvm, vif);
mvm              1526 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_phy_ctxt_unref(mvm, mvmvif->phy_ctxt);
mvm              1528 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (mvm->bf_allowed_vif == mvmvif) {
mvm              1529 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mvm->bf_allowed_vif = NULL;
mvm              1535 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_mac_ctxt_remove(mvm, vif);
mvm              1538 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mvm->vif_count--;
mvm              1540 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              1545 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c static void iwl_mvm_prepare_mac_removal(struct iwl_mvm *mvm,
mvm              1554 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		flush_work(&mvm->roc_done_wk);
mvm              1561 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              1565 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_prepare_mac_removal(mvm, vif);
mvm              1569 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_tcm_rm_vif(mvm, vif);
mvm              1571 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              1574 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 					       lockdep_is_held(&mvm->mutex));
mvm              1579 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (mvm->bf_allowed_vif == mvmvif) {
mvm              1580 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mvm->bf_allowed_vif = NULL;
mvm              1586 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		memset(&mvm->ftm_resp_stats, 0, sizeof(mvm->ftm_resp_stats));
mvm              1588 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_vif_dbgfs_clean(mvm, vif);
mvm              1597 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		if (vif == mvm->noa_vif) {
mvm              1598 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			mvm->noa_vif = NULL;
mvm              1599 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			mvm->noa_duration = 0;
mvm              1602 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_dealloc_int_sta(mvm, &mvmvif->mcast_sta);
mvm              1603 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_dealloc_bcast_sta(mvm, vif);
mvm              1608 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mvm->p2p_device_vif = NULL;
mvm              1609 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_rm_p2p_bcast_sta(mvm, vif);
mvm              1610 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_binding_remove_vif(mvm, vif);
mvm              1611 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_phy_ctxt_unref(mvm, mvmvif->phy_ctxt);
mvm              1615 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (mvm->vif_count && vif->type != NL80211_IFTYPE_P2P_DEVICE)
mvm              1616 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mvm->vif_count--;
mvm              1618 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_power_update_mac(mvm);
mvm              1619 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_mac_ctxt_remove(mvm, vif);
mvm              1621 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	RCU_INIT_POINTER(mvm->vif_id_to_mac[mvmvif->id], NULL);
mvm              1624 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mvm->monitor_on = false;
mvm              1627 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              1636 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm;
mvm              1644 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = data->mvm;
mvm              1645 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mcast_filter_cmd *cmd = mvm->mcast_filter_cmd;
mvm              1668 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	ret = iwl_mvm_send_cmd(mvm, &hcmd);
mvm              1670 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		IWL_ERR(mvm, "mcast filter cmd error. ret=%d\n", ret);
mvm              1673 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c static void iwl_mvm_recalc_multicast(struct iwl_mvm *mvm)
mvm              1676 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		.mvm = mvm,
mvm              1679 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	lockdep_assert_held(&mvm->mutex);
mvm              1681 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (WARN_ON_ONCE(!mvm->mcast_filter_cmd))
mvm              1685 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mvm->hw, IEEE80211_IFACE_ITER_NORMAL,
mvm              1692 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              1716 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		IWL_DEBUG_MAC80211(mvm, "mcast addr (%d): %pM\n",
mvm              1731 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              1734 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              1737 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	kfree(mvm->mcast_filter_cmd);
mvm              1738 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mvm->mcast_filter_cmd = cmd;
mvm              1749 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_recalc_multicast(mvm);
mvm              1751 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              1760 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              1771 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              1772 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_mac_ctxt_changed(mvm, vif, false, NULL);
mvm              1773 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              1778 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm;
mvm              1823 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = data->mvm;
mvm              1845 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	for (i = 0; mvm->bcast_filters[i].attrs[0].mask; i++) {
mvm              1859 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 					 &mvm->bcast_filters[i],
mvm              1874 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c bool iwl_mvm_bcast_filter_build_cmd(struct iwl_mvm *mvm,
mvm              1878 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		.mvm = mvm,
mvm              1891 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (mvm->dbgfs_bcast_filtering.override) {
mvm              1892 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		memcpy(cmd->filters, &mvm->dbgfs_bcast_filtering.cmd.filters,
mvm              1894 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		memcpy(cmd->macs, &mvm->dbgfs_bcast_filtering.cmd.macs,
mvm              1901 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (!mvm->bcast_filters)
mvm              1906 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mvm->hw, IEEE80211_IFACE_ITER_NORMAL,
mvm              1912 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c static int iwl_mvm_configure_bcast_filter(struct iwl_mvm *mvm)
mvm              1916 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (!(mvm->fw->ucode_capa.flags & IWL_UCODE_TLV_FLAGS_BCAST_FILTERING))
mvm              1919 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (!iwl_mvm_bcast_filter_build_cmd(mvm, &cmd))
mvm              1922 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	return iwl_mvm_send_cmd_pdu(mvm, BCAST_FILTER_CMD, 0,
mvm              1926 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c static inline int iwl_mvm_configure_bcast_filter(struct iwl_mvm *mvm)
mvm              1932 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c static int iwl_mvm_update_mu_groups(struct iwl_mvm *mvm,
mvm              1942 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	return iwl_mvm_send_cmd_pdu(mvm,
mvm              1965 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c void iwl_mvm_mu_mimo_grp_notif(struct iwl_mvm *mvm,
mvm              1972 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			mvm->hw, IEEE80211_IFACE_ITER_NORMAL,
mvm              2003 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c static void iwl_mvm_cfg_he_sta(struct iwl_mvm *mvm,
mvm              2015 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	int size = fw_has_api(&mvm->fw->ucode_capa,
mvm              2025 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	sta = rcu_dereference(mvm->fw_id_to_mac_id[sta_ctxt_cmd.sta_id]);
mvm              2097 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			IWL_INFO(mvm, "Got NSS = %d - trimming to %d\n", nss,
mvm              2221 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (iwl_mvm_send_cmd_pdu(mvm, iwl_cmd_id(STA_HE_CTXT_CMD,
mvm              2224 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		IWL_ERR(mvm, "Failed to config FW to work HE!\n");
mvm              2227 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c static void iwl_mvm_bss_info_changed_station(struct iwl_mvm *mvm,
mvm              2243 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			iwl_mvm_cfg_he_sta(mvm, vif, mvmvif->ap_sta_id);
mvm              2245 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_mac_ctxt_recalc_tsf_id(mvm, vif);
mvm              2252 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_cfg_he_sta(mvm, vif, mvmvif->ap_sta_id);
mvm              2263 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	ret = iwl_mvm_mac_ctxt_changed(mvm, vif, false, mvmvif->bssid);
mvm              2265 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		IWL_ERR(mvm, "failed to update MAC %pM\n", vif->addr);
mvm              2274 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			iwl_mvm_request_statistics(mvm, true);
mvm              2279 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			ret = iwl_mvm_update_quotas(mvm, true, NULL);
mvm              2281 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 				IWL_ERR(mvm, "failed to update quotas\n");
mvm              2286 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 				     &mvm->status)) {
mvm              2302 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 				iwl_mvm_protect_session(mvm, vif, dur, dur,
mvm              2306 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			iwl_mvm_sf_update(mvm, vif, false);
mvm              2307 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			iwl_mvm_power_vif_assoc(mvm, vif);
mvm              2309 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 				iwl_mvm_update_smps(mvm, vif,
mvm              2318 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			ret = iwl_mvm_sf_update(mvm, vif, false);
mvm              2321 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 					    &mvm->status),
mvm              2333 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 				      &mvm->status)) {
mvm              2338 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 				ret = iwl_mvm_rm_sta_id(mvm, vif,
mvm              2341 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 					IWL_ERR(mvm,
mvm              2348 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			ret = iwl_mvm_update_quotas(mvm, false, NULL);
mvm              2350 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 				IWL_ERR(mvm, "failed to update quotas\n");
mvm              2353 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			ret = iwl_mvm_mac_ctxt_changed(mvm, vif, false, NULL);
mvm              2355 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 				IWL_ERR(mvm,
mvm              2364 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		if (test_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status) &&
mvm              2366 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			ret = iwl_mvm_update_mu_groups(mvm, vif);
mvm              2368 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 				IWL_ERR(mvm,
mvm              2372 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_recalc_multicast(mvm);
mvm              2373 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_configure_bcast_filter(mvm);
mvm              2378 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_bt_coex_vif_change(mvm);
mvm              2379 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_update_smps(mvm, vif, IWL_MVM_SMPS_REQ_TT,
mvm              2381 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		if (fw_has_capa(&mvm->fw->ucode_capa,
mvm              2383 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			iwl_mvm_config_scan(mvm);
mvm              2391 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_stop_session_protection(mvm, vif);
mvm              2393 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_sf_update(mvm, vif, false);
mvm              2394 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		WARN_ON(iwl_mvm_enable_beacon_filter(mvm, vif, 0));
mvm              2403 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		ret = iwl_mvm_power_update_mac(mvm);
mvm              2405 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			IWL_ERR(mvm, "failed to update power mode\n");
mvm              2409 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		IWL_DEBUG_CALIB(mvm, "Changing TX Power to %d\n",
mvm              2411 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_set_tx_power(mvm, vif, bss_conf->txpower);
mvm              2415 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		IWL_DEBUG_MAC80211(mvm, "cqm info_changed\n");
mvm              2419 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			ret = iwl_mvm_enable_beacon_filter(mvm, vif, 0);
mvm              2421 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 				IWL_ERR(mvm,
mvm              2427 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		IWL_DEBUG_MAC80211(mvm, "arp filter changed\n");
mvm              2428 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_configure_bcast_filter(mvm);
mvm              2435 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              2439 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              2442 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	ret = iwl_mvm_mac_ctxt_beacon_changed(mvm, vif);
mvm              2451 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_mac_ctxt_recalc_tsf_id(mvm, vif);
mvm              2456 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	ret = iwl_mvm_mac_ctxt_add(mvm, vif);
mvm              2461 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	ret = iwl_mvm_binding_add_vif(mvm, vif);
mvm              2472 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (fw_has_api(&mvm->fw->ucode_capa, IWL_UCODE_TLV_API_STA_TYPE)) {
mvm              2473 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		ret = iwl_mvm_add_mcast_sta(mvm, vif);
mvm              2480 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		ret = iwl_mvm_send_add_bcast_sta(mvm, vif);
mvm              2482 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			iwl_mvm_rm_mcast_sta(mvm, vif);
mvm              2490 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		ret = iwl_mvm_send_add_bcast_sta(mvm, vif);
mvm              2493 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		ret = iwl_mvm_add_mcast_sta(mvm, vif);
mvm              2495 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			iwl_mvm_send_rm_bcast_sta(mvm, vif);
mvm              2520 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_send_low_latency_cmd(mvm, true, mvmvif->id);
mvm              2524 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_power_update_mac(mvm);
mvm              2526 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	ret = iwl_mvm_update_quotas(mvm, false, NULL);
mvm              2531 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (vif->p2p && mvm->p2p_device_vif)
mvm              2532 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_mac_ctxt_changed(mvm, mvm->p2p_device_vif, false, NULL);
mvm              2534 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_bt_coex_vif_change(mvm);
mvm              2537 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (iwl_mvm_phy_ctx_count(mvm) > 1)
mvm              2538 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_teardown_tdls_peers(mvm);
mvm              2540 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_ftm_restart_responder(mvm, vif);
mvm              2545 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_power_update_mac(mvm);
mvm              2547 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_send_rm_bcast_sta(mvm, vif);
mvm              2548 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_rm_mcast_sta(mvm, vif);
mvm              2550 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_binding_remove_vif(mvm, vif);
mvm              2552 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_mac_ctxt_remove(mvm, vif);
mvm              2554 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              2561 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              2564 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_prepare_mac_removal(mvm, vif);
mvm              2566 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              2569 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (rcu_access_pointer(mvm->csa_vif) == vif) {
mvm              2570 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_remove_time_event(mvm, mvmvif,
mvm              2572 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		RCU_INIT_POINTER(mvm->csa_vif, NULL);
mvm              2576 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (rcu_access_pointer(mvm->csa_tx_blocked_vif) == vif) {
mvm              2577 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		RCU_INIT_POINTER(mvm->csa_tx_blocked_vif, NULL);
mvm              2578 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mvm->csa_tx_block_bcn_timeout = 0;
mvm              2582 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mvm->ap_last_beacon_gp2 = 0;
mvm              2587 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_send_low_latency_cmd(mvm, false,  mvmvif->id);
mvm              2590 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_bt_coex_vif_change(mvm);
mvm              2593 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (vif->p2p && mvm->p2p_device_vif)
mvm              2594 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_mac_ctxt_changed(mvm, mvm->p2p_device_vif, false, NULL);
mvm              2596 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_update_quotas(mvm, false, NULL);
mvm              2606 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (!fw_has_api(&mvm->fw->ucode_capa, IWL_UCODE_TLV_API_STA_TYPE))
mvm              2607 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_rm_mcast_sta(mvm, vif);
mvm              2608 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_send_rm_bcast_sta(mvm, vif);
mvm              2609 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (fw_has_api(&mvm->fw->ucode_capa, IWL_UCODE_TLV_API_STA_TYPE))
mvm              2610 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_rm_mcast_sta(mvm, vif);
mvm              2611 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_binding_remove_vif(mvm, vif);
mvm              2613 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_power_update_mac(mvm);
mvm              2615 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_mac_ctxt_remove(mvm, vif);
mvm              2617 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              2621 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c iwl_mvm_bss_info_changed_ap_ibss(struct iwl_mvm *mvm,
mvm              2634 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	    iwl_mvm_mac_ctxt_changed(mvm, vif, false, NULL))
mvm              2635 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		IWL_ERR(mvm, "failed to update MAC %pM\n", vif->addr);
mvm              2639 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	    iwl_mvm_mac_ctxt_beacon_changed(mvm, vif))
mvm              2640 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		IWL_WARN(mvm, "Failed updating beacon data\n");
mvm              2643 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		IWL_DEBUG_CALIB(mvm, "Changing TX Power to %d\n",
mvm              2645 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_set_tx_power(mvm, vif, bss_conf->txpower);
mvm              2649 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		int ret = iwl_mvm_ftm_start_responder(mvm, vif);
mvm              2652 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			IWL_WARN(mvm, "Failed to enable FTM responder (%d)\n",
mvm              2663 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              2665 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              2668 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_scan_stop(mvm, IWL_MVM_SCAN_SCHED, true);
mvm              2672 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_bss_info_changed_station(mvm, vif, bss_conf, changes);
mvm              2676 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_bss_info_changed_ap_ibss(mvm, vif, bss_conf, changes);
mvm              2680 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			iwl_mvm_update_mu_groups(mvm, vif);
mvm              2687 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              2694 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              2698 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	    hw_req->req.n_channels > mvm->fw->ucode_capa.n_scan_channels)
mvm              2701 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              2702 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	ret = iwl_mvm_reg_scan_start(mvm, vif, &hw_req->req, &hw_req->ies);
mvm              2703 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              2711 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              2713 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              2722 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (mvm->scan_status & IWL_MVM_SCAN_REGULAR)
mvm              2723 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_scan_stop(mvm, IWL_MVM_SCAN_REGULAR, true);
mvm              2725 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              2735 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              2739 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_sta_modify_sleep_tx_count(mvm, sta, reason, num_frames,
mvm              2750 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              2754 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_sta_modify_sleep_tx_count(mvm, sta, reason, num_frames,
mvm              2762 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              2772 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (WARN_ON(iwl_mvm_has_new_tx_api(mvm)))
mvm              2784 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		if (iwl_mvm_tid_queued(mvm, tid_data) == 0)
mvm              2796 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			iwl_trans_freeze_txq_timer(mvm->trans, txqs, true);
mvm              2808 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			iwl_trans_freeze_txq_timer(mvm->trans, txqs, false);
mvm              2809 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_sta_modify_ps_wake(mvm, sta);
mvm              2825 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c void iwl_mvm_sta_pm_notif(struct iwl_mvm *mvm, struct iwl_rx_cmd_buffer *rxb)
mvm              2833 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (WARN_ON(notif->sta_id >= ARRAY_SIZE(mvm->fw_id_to_mac_id)))
mvm              2837 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	sta = rcu_dereference(mvm->fw_id_to_mac_id[notif->sta_id]);
mvm              2853 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		__iwl_mvm_mac_sta_notify(mvm->hw,
mvm              2882 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              2893 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              2894 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (sta == rcu_access_pointer(mvm->fw_id_to_mac_id[mvm_sta->sta_id]))
mvm              2895 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		rcu_assign_pointer(mvm->fw_id_to_mac_id[mvm_sta->sta_id],
mvm              2898 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              2901 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c static void iwl_mvm_check_uapsd(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm              2906 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (!test_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status)) {
mvm              2909 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mdata = &mvm->tcm.data[iwl_mvm_vif_from_mac80211(vif)->id];
mvm              2914 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (!(mvm->fw->ucode_capa.flags & IWL_UCODE_TLV_FLAGS_UAPSD_SUPPORT))
mvm              2917 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (vif->p2p && !iwl_mvm_is_p2p_scm_uapsd_supported(mvm)) {
mvm              2929 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		if (ether_addr_equal(mvm->uapsd_noagg_bssids[i].addr, bssid)) {
mvm              2939 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c iwl_mvm_tdls_check_trigger(struct iwl_mvm *mvm,
mvm              2946 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	trig = iwl_fw_dbg_trigger_on(&mvm->fwrt, ieee80211_vif_to_wdev(vif),
mvm              2960 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_fw_dbg_collect_trig(&mvm->fwrt, trig,
mvm              3016 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              3021 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	IWL_DEBUG_MAC80211(mvm, "station %pM state change %d->%d\n",
mvm              3043 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		flush_work(&mvm->add_stream_wk);
mvm              3051 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              3066 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			IWL_ERR(mvm,
mvm              3075 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		     iwl_mvm_tdls_sta_count(mvm, NULL) ==
mvm              3077 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		     iwl_mvm_phy_ctx_count(mvm) > 1)) {
mvm              3078 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			IWL_DEBUG_MAC80211(mvm, "refusing TDLS sta\n");
mvm              3083 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		ret = iwl_mvm_add_sta(mvm, vif, sta);
mvm              3085 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			iwl_mvm_recalc_tdls_state(mvm, vif, true);
mvm              3086 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			iwl_mvm_tdls_check_trigger(mvm, vif, sta->addr,
mvm              3097 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mvm->last_ebs_successful = true;
mvm              3098 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_check_uapsd(mvm, vif, sta->addr);
mvm              3105 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			iwl_mvm_mac_ctxt_changed(mvm, vif, false, NULL);
mvm              3108 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 				iwl_mvm_cfg_he_sta(mvm, vif, mvm_sta->sta_id);
mvm              3116 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			iwl_mvm_mac_ctxt_changed(mvm, vif, false, NULL);
mvm              3119 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_rs_rate_init(mvm, sta, mvmvif->phy_ctxt->channel->band,
mvm              3121 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		ret = iwl_mvm_update_sta(mvm, vif, sta);
mvm              3127 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		if (iwl_mvm_phy_ctx_count(mvm) > 1)
mvm              3128 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			iwl_mvm_teardown_tdls_peers(mvm);
mvm              3131 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			iwl_mvm_tdls_check_trigger(mvm, vif, sta->addr,
mvm              3135 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		WARN_ON(iwl_mvm_enable_beacon_filter(mvm, vif, 0));
mvm              3142 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_mac_ctxt_changed(mvm, vif, false, NULL);
mvm              3144 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_rs_rate_init(mvm, sta, mvmvif->phy_ctxt->channel->band,
mvm              3149 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_mac_ctxt_changed(mvm, vif, false, NULL);
mvm              3152 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		ret = iwl_mvm_disable_beacon_filter(mvm, vif, 0);
mvm              3155 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 				  &mvm->status));
mvm              3161 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			iwl_mvm_mac_ctxt_changed(mvm, vif, false, NULL);
mvm              3169 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		ret = iwl_mvm_rm_sta(mvm, vif, sta);
mvm              3171 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			iwl_mvm_recalc_tdls_state(mvm, vif, false);
mvm              3172 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			iwl_mvm_tdls_check_trigger(mvm, vif, sta->addr,
mvm              3178 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 				      &mvm->status)))
mvm              3184 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              3200 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              3202 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mvm->rts_threshold = value;
mvm              3211 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              3217 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_rs_rate_init(mvm, sta, mvmvif->phy_ctxt->channel->band,
mvm              3222 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_sf_update(mvm, vif, false);
mvm              3229 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              3241 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mutex_lock(&mvm->mutex);
mvm              3242 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		ret = iwl_mvm_mac_ctxt_changed(mvm, vif, false, NULL);
mvm              3243 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mutex_unlock(&mvm->mutex);
mvm              3253 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              3260 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              3262 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_protect_session(mvm, vif, duration, min_duration, 500, false);
mvm              3263 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              3271 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              3275 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              3282 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	ret = iwl_mvm_sched_scan_start(mvm, vif, req, ies, IWL_MVM_SCAN_SCHED);
mvm              3285 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              3292 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              3295 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              3305 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (!(mvm->scan_status & IWL_MVM_SCAN_SCHED)) {
mvm              3306 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mutex_unlock(&mvm->mutex);
mvm              3310 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	ret = iwl_mvm_scan_stop(mvm, IWL_MVM_SCAN_SCHED, false);
mvm              3311 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              3312 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_wait_for_async_handlers(mvm);
mvm              3324 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              3332 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		IWL_DEBUG_MAC80211(mvm, "leave - hwcrypto disabled\n");
mvm              3338 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		if (!mvm->trans->trans_cfg->gen2) {
mvm              3344 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			IWL_DEBUG_MAC80211(mvm, "Use SW encryption for TKIP\n");
mvm              3351 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		if (!iwl_mvm_has_new_tx_api(mvm))
mvm              3363 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		if (iwl_mvm_has_new_tx_api(mvm))
mvm              3395 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			    !iwl_mvm_has_new_tx_api(mvm)) {
mvm              3420 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		if (test_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status) &&
mvm              3422 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			IWL_DEBUG_MAC80211(mvm,
mvm              3428 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		if (!test_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status) &&
mvm              3429 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		    sta && iwl_mvm_has_new_rx_api(mvm) &&
mvm              3440 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 						     mvm->trans->num_rx_queues),
mvm              3449 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 				for (q = 0; q < mvm->trans->num_rx_queues; q++)
mvm              3459 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		if (test_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status))
mvm              3464 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		IWL_DEBUG_MAC80211(mvm, "set hwcrypto key\n");
mvm              3465 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		ret = iwl_mvm_set_sta_key(mvm, vif, sta, key, key_offset);
mvm              3467 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			IWL_WARN(mvm, "set key failed\n");
mvm              3475 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			if (iwl_mvm_has_new_tx_api(mvm))
mvm              3500 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		if (sta && iwl_mvm_has_new_rx_api(mvm) &&
mvm              3508 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 						lockdep_is_held(&mvm->mutex));
mvm              3514 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		IWL_DEBUG_MAC80211(mvm, "disable hwcrypto key\n");
mvm              3515 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		ret = iwl_mvm_remove_sta_key(mvm, vif, sta, key);
mvm              3530 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              3533 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              3535 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              3546 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              3551 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_update_tkip_key(mvm, vif, keyconf, sta, iv32, phase1key);
mvm              3558 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm =
mvm              3568 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		IWL_ERR(mvm, "Invalid HOT_SPOT_CMD response\n");
mvm              3574 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	IWL_DEBUG_TE(mvm,
mvm              3579 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	IWL_DEBUG_TE(mvm, "TIME_EVENT_CMD response - UID = 0x%x\n",
mvm              3582 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	spin_lock_bh(&mvm->time_event_lock);
mvm              3583 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	list_add_tail(&te_data->list, &mvm->aux_roc_te_list);
mvm              3584 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	spin_unlock_bh(&mvm->time_event_lock);
mvm              3594 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c static int iwl_mvm_send_aux_roc_cmd(struct iwl_mvm *mvm,
mvm              3611 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		.sta_id_and_color = cpu_to_le32(mvm->aux_sta.sta_id),
mvm              3613 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_hs20_roc_req_tail *tail = iwl_mvm_chan_info_cmd_tail(mvm,
mvm              3615 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	u16 len = sizeof(aux_roc_req) - iwl_mvm_chan_info_padding(mvm);
mvm              3618 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_set_chan_info(mvm, &aux_roc_req.channel_info, channel->hw_value,
mvm              3625 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	tail->apply_time = cpu_to_le32(iwl_mvm_get_systime(mvm));
mvm              3653 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	IWL_DEBUG_TE(mvm,
mvm              3660 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	lockdep_assert_held(&mvm->mutex);
mvm              3662 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	spin_lock_bh(&mvm->time_event_lock);
mvm              3665 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		spin_unlock_bh(&mvm->time_event_lock);
mvm              3673 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	spin_unlock_bh(&mvm->time_event_lock);
mvm              3684 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_init_notification_wait(&mvm->notif_wait, &wait_time_event,
mvm              3689 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	res = iwl_mvm_send_cmd_pdu(mvm, HOT_SPOT_CMD, 0, len,
mvm              3693 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		IWL_ERR(mvm, "Couldn't send HOT_SPOT_CMD: %d\n", res);
mvm              3694 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_remove_notification(&mvm->notif_wait, &wait_time_event);
mvm              3699 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	res = iwl_wait_notification(&mvm->notif_wait, &wait_time_event, 1);
mvm              3705 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		spin_lock_bh(&mvm->time_event_lock);
mvm              3706 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_te_clear_data(mvm, te_data);
mvm              3707 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		spin_unlock_bh(&mvm->time_event_lock);
mvm              3719 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              3725 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	IWL_DEBUG_MAC80211(mvm, "enter (%d, %d, %d)\n", channel->hw_value,
mvm              3732 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	flush_work(&mvm->roc_done_wk);
mvm              3734 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              3738 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		if (fw_has_capa(&mvm->fw->ucode_capa,
mvm              3741 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			ret = iwl_mvm_send_aux_roc_cmd(mvm, channel,
mvm              3745 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		IWL_ERR(mvm, "hotspot not supported\n");
mvm              3752 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		IWL_ERR(mvm, "vif isn't P2P_DEVICE: %d\n", vif->type);
mvm              3758 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		phy_ctxt = &mvm->phy_ctxts[i];
mvm              3767 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			ret = iwl_mvm_binding_remove_vif(mvm, vif);
mvm              3771 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			iwl_mvm_phy_ctxt_unref(mvm, mvmvif->phy_ctxt);
mvm              3776 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			ret = iwl_mvm_binding_add_vif(mvm, vif);
mvm              3780 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			iwl_mvm_phy_ctxt_ref(mvm, mvmvif->phy_ctxt);
mvm              3796 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		ret = iwl_mvm_phy_ctxt_changed(mvm, mvmvif->phy_ctxt,
mvm              3806 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		phy_ctxt = iwl_mvm_get_free_phy_ctxt(mvm);
mvm              3812 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		ret = iwl_mvm_phy_ctxt_changed(mvm, phy_ctxt, &chandef,
mvm              3815 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			IWL_ERR(mvm, "Failed to change PHY context\n");
mvm              3820 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		ret = iwl_mvm_binding_remove_vif(mvm, vif);
mvm              3824 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_phy_ctxt_unref(mvm, mvmvif->phy_ctxt);
mvm              3829 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		ret = iwl_mvm_binding_add_vif(mvm, vif);
mvm              3833 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_phy_ctxt_ref(mvm, mvmvif->phy_ctxt);
mvm              3838 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	ret = iwl_mvm_start_p2p_roc(mvm, vif, duration, type);
mvm              3841 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              3842 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	IWL_DEBUG_MAC80211(mvm, "leave\n");
mvm              3849 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              3851 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	IWL_DEBUG_MAC80211(mvm, "enter\n");
mvm              3853 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              3854 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_stop_roc(mvm);
mvm              3855 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              3857 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	IWL_DEBUG_MAC80211(mvm, "leave\n");
mvm              3876 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c static bool iwl_mvm_is_ftm_responder_chanctx(struct iwl_mvm *mvm,
mvm              3884 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	ieee80211_iterate_active_interfaces_atomic(mvm->hw,
mvm              3891 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c static int __iwl_mvm_add_chanctx(struct iwl_mvm *mvm,
mvm              3896 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	bool responder = iwl_mvm_is_ftm_responder_chanctx(mvm, ctx);
mvm              3900 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	lockdep_assert_held(&mvm->mutex);
mvm              3902 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	IWL_DEBUG_MAC80211(mvm, "Add channel context\n");
mvm              3904 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	phy_ctxt = iwl_mvm_get_free_phy_ctxt(mvm);
mvm              3910 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	ret = iwl_mvm_phy_ctxt_changed(mvm, phy_ctxt, def,
mvm              3914 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		IWL_ERR(mvm, "Failed to add PHY context\n");
mvm              3918 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_phy_ctxt_ref(mvm, phy_ctxt);
mvm              3927 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              3930 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              3931 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	ret = __iwl_mvm_add_chanctx(mvm, ctx);
mvm              3932 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              3937 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c static void __iwl_mvm_remove_chanctx(struct iwl_mvm *mvm,
mvm              3941 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm_phy_ctxt *phy_ctxt = &mvm->phy_ctxts[*phy_ctxt_id];
mvm              3943 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	lockdep_assert_held(&mvm->mutex);
mvm              3945 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_phy_ctxt_unref(mvm, phy_ctxt);
mvm              3951 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              3953 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              3954 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	__iwl_mvm_remove_chanctx(mvm, ctx);
mvm              3955 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              3962 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              3964 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm_phy_ctxt *phy_ctxt = &mvm->phy_ctxts[*phy_ctxt_id];
mvm              3965 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	bool responder = iwl_mvm_is_ftm_responder_chanctx(mvm, ctx);
mvm              3977 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              3990 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_bt_coex_vif_change(mvm);
mvm              3991 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_phy_ctxt_changed(mvm, phy_ctxt, def,
mvm              3996 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              3999 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c static int __iwl_mvm_assign_vif_chanctx(struct iwl_mvm *mvm,
mvm              4005 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm_phy_ctxt *phy_ctxt = &mvm->phy_ctxts[*phy_ctxt_id];
mvm              4009 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	lockdep_assert_held(&mvm->mutex);
mvm              4040 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	ret = iwl_mvm_binding_add_vif(mvm, vif);
mvm              4048 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_power_update_mac(mvm);
mvm              4056 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		ret = iwl_mvm_update_quotas(mvm, false, NULL);
mvm              4060 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		ret = iwl_mvm_add_snif_sta(mvm, vif);
mvm              4068 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_update_quotas(mvm, false, NULL);
mvm              4069 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_mac_ctxt_changed(mvm, vif, false, NULL);
mvm              4075 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		if (!fw_has_capa(&mvm->fw->ucode_capa,
mvm              4082 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			iwl_mvm_protect_session(mvm, vif, duration, duration,
mvm              4087 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_update_quotas(mvm, false, NULL);
mvm              4093 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_binding_remove_vif(mvm, vif);
mvm              4094 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_power_update_mac(mvm);
mvm              4104 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              4107 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              4108 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	ret = __iwl_mvm_assign_vif_chanctx(mvm, vif, ctx, false);
mvm              4109 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              4114 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c static void __iwl_mvm_unassign_vif_chanctx(struct iwl_mvm *mvm,
mvm              4122 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	lockdep_assert_held(&mvm->mutex);
mvm              4124 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_remove_time_event(mvm, mvmvif, &mvmvif->time_event_data);
mvm              4132 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_rm_snif_sta(mvm, vif);
mvm              4142 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_modify_all_sta_disable_tx(mvm, mvmvif, true);
mvm              4145 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		rcu_assign_pointer(mvm->csa_tx_blocked_vif, vif);
mvm              4155 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		if (!fw_has_capa(&mvm->fw->ucode_capa,
mvm              4157 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			iwl_mvm_mac_ctxt_changed(mvm, vif, true, NULL);
mvm              4163 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_update_quotas(mvm, false, disabled_vif);
mvm              4164 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_binding_remove_vif(mvm, vif);
mvm              4168 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_power_update_mac(mvm);
mvm              4175 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              4177 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              4178 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	__iwl_mvm_unassign_vif_chanctx(mvm, vif, ctx, false);
mvm              4179 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              4183 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c iwl_mvm_switch_vif_chanctx_swap(struct iwl_mvm *mvm,
mvm              4188 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              4189 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	__iwl_mvm_unassign_vif_chanctx(mvm, vifs[0].vif, vifs[0].old_ctx, true);
mvm              4190 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	__iwl_mvm_remove_chanctx(mvm, vifs[0].old_ctx);
mvm              4192 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	ret = __iwl_mvm_add_chanctx(mvm, vifs[0].new_ctx);
mvm              4194 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		IWL_ERR(mvm, "failed to add new_ctx during channel switch\n");
mvm              4198 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	ret = __iwl_mvm_assign_vif_chanctx(mvm, vifs[0].vif, vifs[0].new_ctx,
mvm              4201 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		IWL_ERR(mvm,
mvm              4207 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (iwl_mvm_phy_ctx_count(mvm) > 1)
mvm              4208 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_teardown_tdls_peers(mvm);
mvm              4213 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	__iwl_mvm_remove_chanctx(mvm, vifs[0].new_ctx);
mvm              4216 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (__iwl_mvm_add_chanctx(mvm, vifs[0].old_ctx)) {
mvm              4217 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		IWL_ERR(mvm, "failed to add old_ctx back after failure.\n");
mvm              4221 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (__iwl_mvm_assign_vif_chanctx(mvm, vifs[0].vif, vifs[0].old_ctx,
mvm              4223 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		IWL_ERR(mvm, "failed to reassign old_ctx after failure.\n");
mvm              4231 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_nic_restart(mvm, false);
mvm              4234 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              4240 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c iwl_mvm_switch_vif_chanctx_reassign(struct iwl_mvm *mvm,
mvm              4245 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              4246 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	__iwl_mvm_unassign_vif_chanctx(mvm, vifs[0].vif, vifs[0].old_ctx, true);
mvm              4248 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	ret = __iwl_mvm_assign_vif_chanctx(mvm, vifs[0].vif, vifs[0].new_ctx,
mvm              4251 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		IWL_ERR(mvm,
mvm              4259 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (__iwl_mvm_assign_vif_chanctx(mvm, vifs[0].vif, vifs[0].old_ctx,
mvm              4261 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		IWL_ERR(mvm, "failed to reassign old_ctx after failure.\n");
mvm              4269 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_nic_restart(mvm, false);
mvm              4272 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              4282 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              4291 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		ret = iwl_mvm_switch_vif_chanctx_swap(mvm, vifs);
mvm              4294 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		ret = iwl_mvm_switch_vif_chanctx_reassign(mvm, vifs);
mvm              4306 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              4308 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	return mvm->ibss_manager;
mvm              4315 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              4319 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		IWL_ERR(mvm, "Station is not associated to a vif\n");
mvm              4323 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	return iwl_mvm_mac_ctxt_beacon_changed(mvm, mvm_sta->vif);
mvm              4333 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c static int __iwl_mvm_mac_testmode_cmd(struct iwl_mvm *mvm,
mvm              4360 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mvm->noa_duration = noa_duration;
mvm              4361 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mvm->noa_vif = vif;
mvm              4363 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		return iwl_mvm_update_quotas(mvm, true, NULL);
mvm              4372 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			return iwl_mvm_enable_beacon_filter(mvm, vif, 0);
mvm              4373 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		return iwl_mvm_disable_beacon_filter(mvm, vif, 0);
mvm              4383 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              4386 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              4387 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	err = __iwl_mvm_mac_testmode_cmd(mvm, vif, data, len);
mvm              4388 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              4408 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c static int iwl_mvm_schedule_client_csa(struct iwl_mvm *mvm,
mvm              4422 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	lockdep_assert_held(&mvm->mutex);
mvm              4428 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	return iwl_mvm_send_cmd_pdu(mvm,
mvm              4434 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c static int iwl_mvm_old_pre_chan_sw_sta(struct iwl_mvm *mvm,
mvm              4455 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_csa_client_absent(mvm, vif);
mvm              4458 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		int ret = iwl_mvm_disable_beacon_filter(mvm, vif, 0);
mvm              4464 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_schedule_csa_period(mvm, vif, vif->bss_conf.beacon_int,
mvm              4475 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              4480 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              4484 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	IWL_DEBUG_MAC80211(mvm, "pre CSA to freq %d\n",
mvm              4487 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_fw_dbg_trigger_simple_stop(&mvm->fwrt,
mvm              4494 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			rcu_dereference_protected(mvm->csa_vif,
mvm              4495 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 						  lockdep_is_held(&mvm->mutex));
mvm              4503 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		if (rcu_dereference_protected(mvm->csa_tx_blocked_vif,
mvm              4504 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 					      lockdep_is_held(&mvm->mutex))) {
mvm              4509 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		rcu_assign_pointer(mvm->csa_vif, vif);
mvm              4533 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		if (!fw_has_capa(&mvm->fw->ucode_capa,
mvm              4535 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			ret = iwl_mvm_old_pre_chan_sw_sta(mvm, vif, chsw);
mvm              4539 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			iwl_mvm_schedule_client_csa(mvm, vif, chsw);
mvm              4551 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	ret = iwl_mvm_power_update_ps(mvm);
mvm              4556 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_teardown_tdls_peers(mvm);
mvm              4559 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              4568 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              4579 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (!fw_has_capa(&mvm->fw->ucode_capa, IWL_UCODE_TLV_CAPA_CS_MODIFY))
mvm              4594 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	IWL_DEBUG_MAC80211(mvm, "Modify CSA on mac %d\n", mvmvif->id);
mvm              4596 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	WARN_ON(iwl_mvm_send_cmd_pdu(mvm,
mvm              4602 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c static void iwl_mvm_flush_no_vif(struct iwl_mvm *mvm, u32 queues, bool drop)
mvm              4606 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (!iwl_mvm_has_new_tx_api(mvm)) {
mvm              4608 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			mutex_lock(&mvm->mutex);
mvm              4609 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			iwl_mvm_flush_tx_path(mvm,
mvm              4610 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 				iwl_mvm_flushable_queues(mvm) & queues, 0);
mvm              4611 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			mutex_unlock(&mvm->mutex);
mvm              4613 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			iwl_trans_wait_tx_queues_empty(mvm->trans, queues);
mvm              4618 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              4619 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	for (i = 0; i < ARRAY_SIZE(mvm->fw_id_to_mac_id); i++) {
mvm              4622 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		sta = rcu_dereference_protected(mvm->fw_id_to_mac_id[i],
mvm              4623 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 						lockdep_is_held(&mvm->mutex));
mvm              4628 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			iwl_mvm_flush_sta_tids(mvm, i, 0xFF, 0);
mvm              4630 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			iwl_mvm_wait_sta_queues_empty(mvm,
mvm              4633 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              4639 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              4647 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_flush_no_vif(mvm, queues, drop);
mvm              4655 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	flush_work(&mvm->add_stream_wk);
mvm              4657 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              4661 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	for (i = 0; i < ARRAY_SIZE(mvm->fw_id_to_mac_id); i++) {
mvm              4662 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		sta = rcu_dereference_protected(mvm->fw_id_to_mac_id[i],
mvm              4663 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 						lockdep_is_held(&mvm->mutex));
mvm              4675 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			if (iwl_mvm_flush_sta(mvm, mvmsta, false, 0))
mvm              4676 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 				IWL_ERR(mvm, "flush request fail\n");
mvm              4679 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			if (iwl_mvm_has_new_tx_api(mvm))
mvm              4680 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 				iwl_mvm_wait_sta_queues_empty(mvm, mvmsta);
mvm              4684 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              4689 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (!drop && !iwl_mvm_has_new_tx_api(mvm))
mvm              4690 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_trans_wait_tx_queues_empty(mvm->trans, msk);
mvm              4696 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              4705 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (!fw_has_capa(&mvm->fw->ucode_capa,
mvm              4709 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              4711 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (iwl_mvm_firmware_running(mvm)) {
mvm              4712 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		ret = iwl_mvm_request_statistics(mvm, false);
mvm              4721 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	survey->time = mvm->accu_radio_stats.on_time_rf +
mvm              4722 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		       mvm->radio_stats.on_time_rf;
mvm              4725 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	survey->time_rx = mvm->accu_radio_stats.rx_time +
mvm              4726 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			  mvm->radio_stats.rx_time;
mvm              4729 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	survey->time_tx = mvm->accu_radio_stats.tx_time +
mvm              4730 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			  mvm->radio_stats.tx_time;
mvm              4733 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	survey->time_scan = mvm->accu_radio_stats.on_time_scan +
mvm              4734 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			    mvm->radio_stats.on_time_scan;
mvm              4739 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              4748 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              4764 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              4769 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (iwl_mvm_request_statistics(mvm, false))
mvm              4781 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              4784 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c static void iwl_mvm_event_mlme_callback(struct iwl_mvm *mvm,
mvm              4792 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_fw_dbg_collect_trig(&(mvm)->fwrt, trig, _fmt);	\
mvm              4798 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	trig = iwl_fw_dbg_trigger_on(&mvm->fwrt, ieee80211_vif_to_wdev(vif),
mvm              4831 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c static void iwl_mvm_event_bar_rx_callback(struct iwl_mvm *mvm,
mvm              4838 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	trig = iwl_fw_dbg_trigger_on(&mvm->fwrt, ieee80211_vif_to_wdev(vif),
mvm              4848 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_fw_dbg_collect_trig(&mvm->fwrt, trig,
mvm              4858 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              4862 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_event_mlme_callback(mvm, vif, event);
mvm              4865 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_event_bar_rx_callback(mvm, vif, event);
mvm              4868 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		iwl_mvm_event_frame_timeout_callback(mvm, vif, event->u.ba.sta,
mvm              4876 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c void iwl_mvm_sync_rx_queues_internal(struct iwl_mvm *mvm,
mvm              4880 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	u32 qmask = BIT(mvm->trans->num_rx_queues) - 1;
mvm              4884 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (!iwl_mvm_has_new_rx_api(mvm))
mvm              4888 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		notif->cookie = mvm->queue_sync_cookie;
mvm              4889 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		atomic_set(&mvm->queue_sync_counter,
mvm              4890 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 			   mvm->trans->num_rx_queues);
mvm              4893 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	ret = iwl_mvm_notify_rx_queue(mvm, qmask, (u8 *)notif,
mvm              4896 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		IWL_ERR(mvm, "Failed to trigger RX queues sync (%d)\n", ret);
mvm              4901 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		lockdep_assert_held(&mvm->mutex);
mvm              4902 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		ret = wait_event_timeout(mvm->rx_sync_waitq,
mvm              4903 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 					 atomic_read(&mvm->queue_sync_counter) == 0 ||
mvm              4904 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 					 iwl_mvm_is_radio_killed(mvm),
mvm              4906 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		WARN_ON_ONCE(!ret && !iwl_mvm_is_radio_killed(mvm));
mvm              4910 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	atomic_set(&mvm->queue_sync_counter, 0);
mvm              4912 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 		mvm->queue_sync_cookie++;
mvm              4917 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              4923 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              4924 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_sync_rx_queues_internal(mvm, &data, sizeof(data));
mvm              4925 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              4933 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              4940 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              4941 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	*stats = mvm->ftm_resp_stats;
mvm              4942 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              4961 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              4964 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              4965 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	ret = iwl_mvm_ftm_start(mvm, vif, request);
mvm              4966 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              4975 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              4977 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_lock(&mvm->mutex);
mvm              4978 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	iwl_mvm_ftm_abort(mvm, request);
mvm              4979 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	mutex_unlock(&mvm->mutex);
mvm              4996 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm              5002 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c 	if (!iwl_mvm_is_csum_supported(mvm))
mvm               373 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	struct iwl_mvm *mvm;
mvm               682 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	struct iwl_mvm *mvm;
mvm               732 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	struct iwl_mvm *mvm;
mvm              1188 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline bool iwl_mvm_is_radio_killed(struct iwl_mvm *mvm)
mvm              1190 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	return test_bit(IWL_MVM_STATUS_HW_RFKILL, &mvm->status) ||
mvm              1191 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	       test_bit(IWL_MVM_STATUS_HW_CTKILL, &mvm->status);
mvm              1194 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline bool iwl_mvm_is_radio_hw_killed(struct iwl_mvm *mvm)
mvm              1196 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	return test_bit(IWL_MVM_STATUS_HW_RFKILL, &mvm->status);
mvm              1199 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline bool iwl_mvm_firmware_running(struct iwl_mvm *mvm)
mvm              1201 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	return test_bit(IWL_MVM_STATUS_FIRMWARE_RUNNING, &mvm->status);
mvm              1208 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h iwl_mvm_sta_from_staid_rcu(struct iwl_mvm *mvm, u8 sta_id)
mvm              1212 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	if (sta_id >= ARRAY_SIZE(mvm->fw_id_to_mac_id))
mvm              1215 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	sta = rcu_dereference(mvm->fw_id_to_mac_id[sta_id]);
mvm              1225 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h iwl_mvm_sta_from_staid_protected(struct iwl_mvm *mvm, u8 sta_id)
mvm              1229 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	if (sta_id >= ARRAY_SIZE(mvm->fw_id_to_mac_id))
mvm              1232 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	sta = rcu_dereference_protected(mvm->fw_id_to_mac_id[sta_id],
mvm              1233 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 					lockdep_is_held(&mvm->mutex));
mvm              1243 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h iwl_mvm_rcu_dereference_vif_id(struct iwl_mvm *mvm, u8 vif_id, bool rcu)
mvm              1245 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	if (WARN_ON(vif_id >= ARRAY_SIZE(mvm->vif_id_to_mac)))
mvm              1249 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 		return rcu_dereference(mvm->vif_id_to_mac[vif_id]);
mvm              1251 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	return rcu_dereference_protected(mvm->vif_id_to_mac[vif_id],
mvm              1252 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 					 lockdep_is_held(&mvm->mutex));
mvm              1255 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline bool iwl_mvm_is_adaptive_dwell_supported(struct iwl_mvm *mvm)
mvm              1257 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	return fw_has_api(&mvm->fw->ucode_capa,
mvm              1261 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline bool iwl_mvm_is_adaptive_dwell_v2_supported(struct iwl_mvm *mvm)
mvm              1263 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	return fw_has_api(&mvm->fw->ucode_capa,
mvm              1267 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline bool iwl_mvm_is_adwell_hb_ap_num_supported(struct iwl_mvm *mvm)
mvm              1269 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	return fw_has_api(&mvm->fw->ucode_capa,
mvm              1273 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline bool iwl_mvm_is_oce_supported(struct iwl_mvm *mvm)
mvm              1276 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	return fw_has_api(&mvm->fw->ucode_capa, IWL_UCODE_TLV_API_OCE);
mvm              1279 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline bool iwl_mvm_is_frag_ebs_supported(struct iwl_mvm *mvm)
mvm              1281 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	return fw_has_api(&mvm->fw->ucode_capa, IWL_UCODE_TLV_API_FRAG_EBS);
mvm              1284 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline bool iwl_mvm_is_short_beacon_notif_supported(struct iwl_mvm *mvm)
mvm              1286 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	return fw_has_api(&mvm->fw->ucode_capa,
mvm              1290 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline bool iwl_mvm_is_dqa_data_queue(struct iwl_mvm *mvm, u8 queue)
mvm              1296 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline bool iwl_mvm_is_dqa_mgmt_queue(struct iwl_mvm *mvm, u8 queue)
mvm              1302 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline bool iwl_mvm_is_lar_supported(struct iwl_mvm *mvm)
mvm              1304 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	bool nvm_lar = mvm->nvm_data->lar_enabled;
mvm              1305 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	bool tlv_lar = fw_has_capa(&mvm->fw->ucode_capa,
mvm              1315 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	if (mvm->cfg->nvm_type == IWL_NVM_EXT)
mvm              1321 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline bool iwl_mvm_is_wifi_mcc_supported(struct iwl_mvm *mvm)
mvm              1323 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	return fw_has_api(&mvm->fw->ucode_capa,
mvm              1325 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	       fw_has_capa(&mvm->fw->ucode_capa,
mvm              1329 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline bool iwl_mvm_bt_is_rrc_supported(struct iwl_mvm *mvm)
mvm              1331 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	return fw_has_capa(&mvm->fw->ucode_capa,
mvm              1336 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline bool iwl_mvm_is_csum_supported(struct iwl_mvm *mvm)
mvm              1338 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	return fw_has_capa(&mvm->fw->ucode_capa,
mvm              1343 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline bool iwl_mvm_is_mplut_supported(struct iwl_mvm *mvm)
mvm              1345 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	return fw_has_capa(&mvm->fw->ucode_capa,
mvm              1351 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h bool iwl_mvm_is_p2p_scm_uapsd_supported(struct iwl_mvm *mvm)
mvm              1353 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	return fw_has_capa(&mvm->fw->ucode_capa,
mvm              1359 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline bool iwl_mvm_has_new_rx_api(struct iwl_mvm *mvm)
mvm              1361 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	return fw_has_capa(&mvm->fw->ucode_capa,
mvm              1365 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline bool iwl_mvm_has_new_tx_api(struct iwl_mvm *mvm)
mvm              1368 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	return mvm->trans->trans_cfg->use_tfh;
mvm              1371 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline bool iwl_mvm_has_unified_ucode(struct iwl_mvm *mvm)
mvm              1374 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	return mvm->trans->trans_cfg->device_family >= IWL_DEVICE_FAMILY_22000;
mvm              1377 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline bool iwl_mvm_is_cdb_supported(struct iwl_mvm *mvm)
mvm              1388 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	return fw_has_capa(&mvm->fw->ucode_capa,
mvm              1392 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline bool iwl_mvm_cdb_scan_api(struct iwl_mvm *mvm)
mvm              1399 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	return mvm->trans->trans_cfg->device_family >= IWL_DEVICE_FAMILY_22000;
mvm              1402 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline bool iwl_mvm_is_scan_ext_chan_supported(struct iwl_mvm *mvm)
mvm              1404 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	return fw_has_api(&mvm->fw->ucode_capa,
mvm              1408 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline bool iwl_mvm_is_reduced_config_scan_supported(struct iwl_mvm *mvm)
mvm              1410 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	return fw_has_api(&mvm->fw->ucode_capa,
mvm              1414 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline bool iwl_mvm_has_new_rx_stats_api(struct iwl_mvm *mvm)
mvm              1416 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	return fw_has_api(&mvm->fw->ucode_capa,
mvm              1420 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline bool iwl_mvm_has_quota_low_latency(struct iwl_mvm *mvm)
mvm              1422 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	return fw_has_api(&mvm->fw->ucode_capa,
mvm              1426 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline bool iwl_mvm_has_tlc_offload(const struct iwl_mvm *mvm)
mvm              1428 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	return fw_has_capa(&mvm->fw->ucode_capa,
mvm              1433 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h iwl_mvm_get_agg_status(struct iwl_mvm *mvm, void *tx_resp)
mvm              1435 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	if (iwl_mvm_has_new_tx_api(mvm))
mvm              1441 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline bool iwl_mvm_is_tt_in_fw(struct iwl_mvm *mvm)
mvm              1447 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	return fw_has_capa(&mvm->fw->ucode_capa,
mvm              1449 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	       fw_has_capa(&mvm->fw->ucode_capa,
mvm              1453 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline bool iwl_mvm_is_ctdp_supported(struct iwl_mvm *mvm)
mvm              1455 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	return fw_has_capa(&mvm->fw->ucode_capa,
mvm              1462 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline u8 iwl_mvm_mac_ac_to_tx_fifo(struct iwl_mvm *mvm,
mvm              1465 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	return iwl_mvm_has_new_tx_api(mvm) ?
mvm              1477 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void __iwl_mvm_mac_stop(struct iwl_mvm *mvm);
mvm              1478 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int __iwl_mvm_mac_start(struct iwl_mvm *mvm);
mvm              1484 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_run_init_mvm_ucode(struct iwl_mvm *mvm, bool read_nvm);
mvm              1494 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_dump_nic_error_log(struct iwl_mvm *mvm);
mvm              1496 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h u8 iwl_mvm_next_antenna(struct iwl_mvm *mvm, u8 valid, u8 last_idx);
mvm              1497 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_get_sync_time(struct iwl_mvm *mvm, u32 *gp2, u64 *boottime);
mvm              1498 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h u32 iwl_mvm_get_systime(struct iwl_mvm *mvm);
mvm              1501 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int __must_check iwl_mvm_send_cmd(struct iwl_mvm *mvm,
mvm              1503 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int __must_check iwl_mvm_send_cmd_pdu(struct iwl_mvm *mvm, u32 id,
mvm              1505 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int __must_check iwl_mvm_send_cmd_status(struct iwl_mvm *mvm,
mvm              1508 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int __must_check iwl_mvm_send_cmd_pdu_status(struct iwl_mvm *mvm, u32 id,
mvm              1511 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_tx_skb_sta(struct iwl_mvm *mvm, struct sk_buff *skb,
mvm              1513 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_tx_skb_non_sta(struct iwl_mvm *mvm, struct sk_buff *skb);
mvm              1514 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_set_tx_cmd(struct iwl_mvm *mvm, struct sk_buff *skb,
mvm              1517 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_set_tx_cmd_rate(struct iwl_mvm *mvm, struct iwl_tx_cmd *tx_cmd,
mvm              1521 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h unsigned int iwl_mvm_max_amsdu_size(struct iwl_mvm *mvm,
mvm              1530 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_flush_tx_path(struct iwl_mvm *mvm, u32 tfd_msk, u32 flags);
mvm              1531 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_flush_sta(struct iwl_mvm *mvm, void *sta, bool internal, u32 flags);
mvm              1532 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_flush_sta_tids(struct iwl_mvm *mvm, u32 sta_id,
mvm              1535 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_async_handlers_purge(struct iwl_mvm *mvm);
mvm              1546 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline void iwl_mvm_wait_for_async_handlers(struct iwl_mvm *mvm)
mvm              1548 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	flush_work(&mvm->async_handlers_wk);
mvm              1552 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_handle_rx_statistics(struct iwl_mvm *mvm,
mvm              1554 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_rx_statistics(struct iwl_mvm *mvm,
mvm              1556 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_request_statistics(struct iwl_mvm *mvm, bool clear);
mvm              1557 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_accu_radio_stats(struct iwl_mvm *mvm);
mvm              1560 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_nvm_init(struct iwl_mvm *mvm);
mvm              1561 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_load_nvm_to_nic(struct iwl_mvm *mvm);
mvm              1563 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline u8 iwl_mvm_get_valid_tx_ant(struct iwl_mvm *mvm)
mvm              1565 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	return mvm->nvm_data && mvm->nvm_data->valid_tx_ant ?
mvm              1566 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	       mvm->fw->valid_tx_ant & mvm->nvm_data->valid_tx_ant :
mvm              1567 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	       mvm->fw->valid_tx_ant;
mvm              1570 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline u8 iwl_mvm_get_valid_rx_ant(struct iwl_mvm *mvm)
mvm              1572 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	return mvm->nvm_data && mvm->nvm_data->valid_rx_ant ?
mvm              1573 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	       mvm->fw->valid_rx_ant & mvm->nvm_data->valid_rx_ant :
mvm              1574 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	       mvm->fw->valid_rx_ant;
mvm              1577 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline void iwl_mvm_toggle_tx_ant(struct iwl_mvm *mvm, u8 *ant)
mvm              1579 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	*ant = iwl_mvm_next_antenna(mvm, iwl_mvm_get_valid_tx_ant(mvm), *ant);
mvm              1582 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline u32 iwl_mvm_get_phy_config(struct iwl_mvm *mvm)
mvm              1586 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	u32 valid_rx_ant = iwl_mvm_get_valid_rx_ant(mvm);
mvm              1587 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	u32 valid_tx_ant = iwl_mvm_get_valid_tx_ant(mvm);
mvm              1592 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	return mvm->fw->phy_config & phy_config;
mvm              1595 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_up(struct iwl_mvm *mvm);
mvm              1596 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_load_d3_fw(struct iwl_mvm *mvm);
mvm              1598 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_mac_setup_register(struct iwl_mvm *mvm);
mvm              1599 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h bool iwl_mvm_bcast_filter_build_cmd(struct iwl_mvm *mvm,
mvm              1606 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_rx_rx_phy_cmd(struct iwl_mvm *mvm, struct iwl_rx_cmd_buffer *rxb);
mvm              1607 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_rx_rx_mpdu(struct iwl_mvm *mvm, struct napi_struct *napi,
mvm              1609 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_rx_mpdu_mq(struct iwl_mvm *mvm, struct napi_struct *napi,
mvm              1611 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_rx_monitor_no_data(struct iwl_mvm *mvm, struct napi_struct *napi,
mvm              1613 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_rx_frame_release(struct iwl_mvm *mvm, struct napi_struct *napi,
mvm              1615 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_rx_bar_frame_release(struct iwl_mvm *mvm, struct napi_struct *napi,
mvm              1617 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_notify_rx_queue(struct iwl_mvm *mvm, u32 rxq_mask,
mvm              1619 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_rx_queue_notif(struct iwl_mvm *mvm, struct napi_struct *napi,
mvm              1621 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_rx_tx_cmd(struct iwl_mvm *mvm, struct iwl_rx_cmd_buffer *rxb);
mvm              1622 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_mfu_assert_dump_notif(struct iwl_mvm *mvm,
mvm              1624 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_send_recovery_cmd(struct iwl_mvm *mvm, u32 flags);
mvm              1625 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_rx_ba_notif(struct iwl_mvm *mvm, struct iwl_rx_cmd_buffer *rxb);
mvm              1626 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_rx_ant_coupling_notif(struct iwl_mvm *mvm,
mvm              1628 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_rx_fw_error(struct iwl_mvm *mvm, struct iwl_rx_cmd_buffer *rxb);
mvm              1629 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_rx_card_state_notif(struct iwl_mvm *mvm,
mvm              1631 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_rx_mfuart_notif(struct iwl_mvm *mvm,
mvm              1633 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_rx_shared_mem_cfg_notif(struct iwl_mvm *mvm,
mvm              1637 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_phy_ctxt_add(struct iwl_mvm *mvm, struct iwl_mvm_phy_ctxt *ctxt,
mvm              1640 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_phy_ctxt_changed(struct iwl_mvm *mvm, struct iwl_mvm_phy_ctxt *ctxt,
mvm              1643 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_phy_ctxt_ref(struct iwl_mvm *mvm,
mvm              1645 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_phy_ctxt_unref(struct iwl_mvm *mvm,
mvm              1647 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_phy_ctx_count(struct iwl_mvm *mvm);
mvm              1652 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_mac_ctxt_init(struct iwl_mvm *mvm, struct ieee80211_vif *vif);
mvm              1653 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_mac_ctxt_add(struct iwl_mvm *mvm, struct ieee80211_vif *vif);
mvm              1654 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_mac_ctxt_changed(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm              1656 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_mac_ctxt_remove(struct iwl_mvm *mvm, struct ieee80211_vif *vif);
mvm              1657 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_mac_ctxt_beacon_changed(struct iwl_mvm *mvm,
mvm              1659 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_mac_ctxt_send_beacon(struct iwl_mvm *mvm,
mvm              1662 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_mac_ctxt_send_beacon_cmd(struct iwl_mvm *mvm,
mvm              1667 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_mac_ctxt_set_tim(struct iwl_mvm *mvm,
mvm              1670 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_rx_beacon_notif(struct iwl_mvm *mvm,
mvm              1672 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_rx_missed_beacons_notif(struct iwl_mvm *mvm,
mvm              1674 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_rx_stored_beacon_notif(struct iwl_mvm *mvm,
mvm              1676 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_mu_mimo_grp_notif(struct iwl_mvm *mvm,
mvm              1678 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_sta_pm_notif(struct iwl_mvm *mvm, struct iwl_rx_cmd_buffer *rxb);
mvm              1679 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_window_status_notif(struct iwl_mvm *mvm,
mvm              1681 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_mac_ctxt_recalc_tsf_id(struct iwl_mvm *mvm,
mvm              1683 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_probe_resp_data_notif(struct iwl_mvm *mvm,
mvm              1685 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_channel_switch_noa_notif(struct iwl_mvm *mvm,
mvm              1688 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_binding_add_vif(struct iwl_mvm *mvm, struct ieee80211_vif *vif);
mvm              1689 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_binding_remove_vif(struct iwl_mvm *mvm, struct ieee80211_vif *vif);
mvm              1692 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline size_t iwl_mvm_quota_cmd_size(struct iwl_mvm *mvm)
mvm              1694 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	return iwl_mvm_has_quota_low_latency(mvm) ?
mvm              1700 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h *iwl_mvm_quota_cmd_get_quota(struct iwl_mvm *mvm,
mvm              1706 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	if (iwl_mvm_has_quota_low_latency(mvm))
mvm              1713 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_update_quotas(struct iwl_mvm *mvm, bool force_upload,
mvm              1717 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_reg_scan_start(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm              1720 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_scan_size(struct iwl_mvm *mvm);
mvm              1721 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_scan_stop(struct iwl_mvm *mvm, int type, bool notify);
mvm              1722 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_max_scan_ie_len(struct iwl_mvm *mvm);
mvm              1723 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_report_scan_aborted(struct iwl_mvm *mvm);
mvm              1727 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_rx_lmac_scan_complete_notif(struct iwl_mvm *mvm,
mvm              1729 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_rx_lmac_scan_iter_complete_notif(struct iwl_mvm *mvm,
mvm              1731 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_sched_scan_start(struct iwl_mvm *mvm,
mvm              1736 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_rx_scan_match_found(struct iwl_mvm *mvm,
mvm              1740 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_config_scan(struct iwl_mvm *mvm);
mvm              1741 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_rx_umac_scan_complete_notif(struct iwl_mvm *mvm,
mvm              1743 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_rx_umac_scan_iter_complete_notif(struct iwl_mvm *mvm,
mvm              1748 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_dbgfs_register(struct iwl_mvm *mvm, struct dentry *dbgfs_dir);
mvm              1749 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_vif_dbgfs_register(struct iwl_mvm *mvm, struct ieee80211_vif *vif);
mvm              1750 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_vif_dbgfs_clean(struct iwl_mvm *mvm, struct ieee80211_vif *vif);
mvm              1752 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline void iwl_mvm_dbgfs_register(struct iwl_mvm *mvm,
mvm              1757 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h iwl_mvm_vif_dbgfs_register(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
mvm              1761 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h iwl_mvm_vif_dbgfs_clean(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
mvm              1767 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_send_lq_cmd(struct iwl_mvm *mvm, struct iwl_lq_cmd *lq);
mvm              1768 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_update_frame_stats(struct iwl_mvm *mvm, u32 rate, bool agg);
mvm              1770 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void rs_update_last_rssi(struct iwl_mvm *mvm,
mvm              1775 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_power_update_device(struct iwl_mvm *mvm);
mvm              1776 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_power_update_mac(struct iwl_mvm *mvm);
mvm              1777 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_power_update_ps(struct iwl_mvm *mvm);
mvm              1778 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_power_mac_dbgfs_read(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm              1781 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_power_vif_assoc(struct iwl_mvm *mvm, struct ieee80211_vif *vif);
mvm              1782 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_power_uapsd_misbehaving_ap_notif(struct iwl_mvm *mvm,
mvm              1786 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_leds_init(struct iwl_mvm *mvm);
mvm              1787 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_leds_exit(struct iwl_mvm *mvm);
mvm              1788 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_leds_sync(struct iwl_mvm *mvm);
mvm              1790 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline int iwl_mvm_leds_init(struct iwl_mvm *mvm)
mvm              1794 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline void iwl_mvm_leds_exit(struct iwl_mvm *mvm)
mvm              1797 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline void iwl_mvm_leds_sync(struct iwl_mvm *mvm)
mvm              1815 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h struct iwl_wowlan_status *iwl_mvm_send_wowlan_get_status(struct iwl_mvm *mvm);
mvm              1817 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_set_last_nonqos_seq(struct iwl_mvm *mvm,
mvm              1821 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h iwl_mvm_set_last_nonqos_seq(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
mvm              1827 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_send_proto_offload(struct iwl_mvm *mvm,
mvm              1834 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_send_bt_init_conf(struct iwl_mvm *mvm);
mvm              1835 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_rx_bt_coex_notif(struct iwl_mvm *mvm,
mvm              1837 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_bt_rssi_event(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm              1839 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_bt_coex_vif_change(struct iwl_mvm *mvm);
mvm              1840 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h u16 iwl_mvm_coex_agg_time_limit(struct iwl_mvm *mvm,
mvm              1842 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h bool iwl_mvm_bt_coex_is_mimo_allowed(struct iwl_mvm *mvm,
mvm              1844 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h bool iwl_mvm_bt_coex_is_ant_avail(struct iwl_mvm *mvm, u8 ant);
mvm              1845 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h bool iwl_mvm_bt_coex_is_shared_ant_avail(struct iwl_mvm *mvm);
mvm              1846 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h bool iwl_mvm_bt_coex_is_tpc_allowed(struct iwl_mvm *mvm,
mvm              1848 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h u8 iwl_mvm_bt_coex_get_single_ant_msk(struct iwl_mvm *mvm, u8 enabled_ants);
mvm              1849 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h u8 iwl_mvm_bt_coex_tx_prio(struct iwl_mvm *mvm, struct ieee80211_hdr *hdr,
mvm              1863 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_enable_beacon_filter(struct iwl_mvm *mvm,
mvm              1866 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_disable_beacon_filter(struct iwl_mvm *mvm,
mvm              1870 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_update_smps(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm              1873 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h bool iwl_mvm_rx_diversity_allowed(struct iwl_mvm *mvm);
mvm              1876 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_update_low_latency(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm              1880 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h bool iwl_mvm_low_latency(struct iwl_mvm *mvm);
mvm              1881 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h bool iwl_mvm_low_latency_band(struct iwl_mvm *mvm, enum nl80211_band band);
mvm              1882 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_send_low_latency_cmd(struct iwl_mvm *mvm, bool low_latency,
mvm              1940 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline u32 iwl_mvm_flushable_queues(struct iwl_mvm *mvm)
mvm              1942 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	return ((BIT(mvm->trans->trans_cfg->base_params->num_of_queues) - 1) &
mvm              1946 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline void iwl_mvm_stop_device(struct iwl_mvm *mvm)
mvm              1948 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	lockdep_assert_held(&mvm->mutex);
mvm              1949 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	iwl_fw_cancel_timestamp(&mvm->fwrt);
mvm              1950 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	clear_bit(IWL_MVM_STATUS_FIRMWARE_RUNNING, &mvm->status);
mvm              1951 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	iwl_fw_dbg_stop_sync(&mvm->fwrt);
mvm              1952 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	iwl_trans_stop_device(mvm->trans);
mvm              1953 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	iwl_free_fw_paging(&mvm->fwrt);
mvm              1954 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	iwl_fw_dump_conf_clear(&mvm->fwrt);
mvm              1958 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_reconfig_scd(struct iwl_mvm *mvm, int queue, int fifo, int sta_id,
mvm              1962 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_tt_tx_backoff(struct iwl_mvm *mvm, u32 backoff);
mvm              1963 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_tt_temp_changed(struct iwl_mvm *mvm, u32 temp);
mvm              1964 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_temp_notif(struct iwl_mvm *mvm,
mvm              1966 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_tt_handler(struct iwl_mvm *mvm);
mvm              1967 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_thermal_initialize(struct iwl_mvm *mvm, u32 min_backoff);
mvm              1968 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_thermal_exit(struct iwl_mvm *mvm);
mvm              1969 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_set_hw_ctkill_state(struct iwl_mvm *mvm, bool state);
mvm              1970 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_get_temp(struct iwl_mvm *mvm, s32 *temp);
mvm              1971 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_ct_kill_notif(struct iwl_mvm *mvm, struct iwl_rx_cmd_buffer *rxb);
mvm              1972 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_enter_ctkill(struct iwl_mvm *mvm);
mvm              1973 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_send_temp_report_ths_cmd(struct iwl_mvm *mvm);
mvm              1974 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_ctdp_command(struct iwl_mvm *mvm, u32 op, u32 budget);
mvm              1978 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h iwl_mvm_update_mcc(struct iwl_mvm *mvm, const char *alpha2,
mvm              1980 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_init_mcc(struct iwl_mvm *mvm);
mvm              1981 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_rx_chub_update_mcc(struct iwl_mvm *mvm,
mvm              1987 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h struct ieee80211_regdomain *iwl_mvm_get_current_regdomain(struct iwl_mvm *mvm,
mvm              1989 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_init_fw_regd(struct iwl_mvm *mvm);
mvm              1990 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_update_changed_regdom(struct iwl_mvm *mvm);
mvm              1993 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_sf_update(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm              1997 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_ftm_start_responder(struct iwl_mvm *mvm, struct ieee80211_vif *vif);
mvm              1998 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_ftm_restart_responder(struct iwl_mvm *mvm,
mvm              2000 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_ftm_responder_stats(struct iwl_mvm *mvm,
mvm              2004 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_ftm_restart(struct iwl_mvm *mvm);
mvm              2005 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_ftm_range_resp(struct iwl_mvm *mvm,
mvm              2007 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_ftm_lc_notif(struct iwl_mvm *mvm,
mvm              2009 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_ftm_start(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm              2011 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_ftm_abort(struct iwl_mvm *mvm, struct cfg80211_pmsr_request *req);
mvm              2021 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_tdls_sta_count(struct iwl_mvm *mvm, struct ieee80211_vif *vif);
mvm              2022 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_teardown_tdls_peers(struct iwl_mvm *mvm);
mvm              2023 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_recalc_tdls_state(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm              2038 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_rx_tdls_notif(struct iwl_mvm *mvm, struct iwl_rx_cmd_buffer *rxb);
mvm              2041 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_sync_rx_queues_internal(struct iwl_mvm *mvm,
mvm              2045 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h struct ieee80211_vif *iwl_mvm_get_bss_vif(struct iwl_mvm *mvm);
mvm              2046 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h bool iwl_mvm_is_vif_assoc(struct iwl_mvm *mvm);
mvm              2052 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_recalc_tcm(struct iwl_mvm *mvm);
mvm              2053 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_pause_tcm(struct iwl_mvm *mvm, bool with_cancel);
mvm              2054 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_resume_tcm(struct iwl_mvm *mvm);
mvm              2055 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_tcm_add_vif(struct iwl_mvm *mvm, struct ieee80211_vif *vif);
mvm              2056 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_tcm_rm_vif(struct iwl_mvm *mvm, struct ieee80211_vif *vif);
mvm              2059 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_nic_restart(struct iwl_mvm *mvm, bool fw_error);
mvm              2060 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h unsigned int iwl_mvm_get_wd_timeout(struct iwl_mvm *mvm,
mvm              2063 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_connection_loss(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm              2065 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h void iwl_mvm_event_frame_timeout_callback(struct iwl_mvm *mvm,
mvm              2070 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_sar_select_profile(struct iwl_mvm *mvm, int prof_a, int prof_b);
mvm              2071 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_get_sar_geo_profile(struct iwl_mvm *mvm);
mvm              2072 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h int iwl_mvm_ppag_send_cmd(struct iwl_mvm *mvm);
mvm              2081 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline bool iwl_mvm_has_ultra_hb_channel(struct iwl_mvm *mvm)
mvm              2083 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	return fw_has_capa(&mvm->fw->ucode_capa,
mvm              2087 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline void *iwl_mvm_chan_info_cmd_tail(struct iwl_mvm *mvm,
mvm              2090 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	return (u8 *)ci + (iwl_mvm_has_ultra_hb_channel(mvm) ?
mvm              2095 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline size_t iwl_mvm_chan_info_padding(struct iwl_mvm *mvm)
mvm              2097 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	return iwl_mvm_has_ultra_hb_channel(mvm) ? 0 :
mvm              2102 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h static inline void iwl_mvm_set_chan_info(struct iwl_mvm *mvm,
mvm              2107 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	if (iwl_mvm_has_ultra_hb_channel(mvm)) {
mvm              2124 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h iwl_mvm_set_chan_info_chandef(struct iwl_mvm *mvm,
mvm              2128 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h 	iwl_mvm_set_chan_info(mvm, ci, chandef->chan->hw_value,
mvm                91 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c static int iwl_nvm_write_chunk(struct iwl_mvm *mvm, u16 section,
mvm               112 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	ret = iwl_mvm_send_cmd(mvm, &cmd);
mvm               120 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 		IWL_ERR(mvm,
mvm               130 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c static int iwl_nvm_read_chunk(struct iwl_mvm *mvm, u16 section,
mvm               151 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	ret = iwl_mvm_send_cmd(mvm, &cmd);
mvm               174 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 			IWL_DEBUG_EEPROM(mvm->trans->dev,
mvm               179 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 			IWL_DEBUG_EEPROM(mvm->trans->dev,
mvm               181 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 					 ret, mvm->cfg->name);
mvm               188 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 		IWL_ERR(mvm, "NVM ACCESS response with invalid offset %d\n",
mvm               203 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c static int iwl_nvm_write_section(struct iwl_mvm *mvm, u16 section,
mvm               216 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 		ret = iwl_nvm_write_chunk(mvm, section, offset,
mvm               237 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c static int iwl_nvm_read_section(struct iwl_mvm *mvm, u16 section,
mvm               252 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 		    mvm->trans->trans_cfg->base_params->eeprom_size) {
mvm               253 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 			IWL_ERR(mvm, "EEPROM size is too small for NVM\n");
mvm               257 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 		ret = iwl_nvm_read_chunk(mvm, section, offset, length, data);
mvm               259 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 			IWL_DEBUG_EEPROM(mvm->trans->dev,
mvm               267 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	iwl_nvm_fixups(mvm->trans->hw_id, section, data, offset);
mvm               269 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	IWL_DEBUG_EEPROM(mvm->trans->dev,
mvm               275 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c iwl_parse_nvm_sections(struct iwl_mvm *mvm)
mvm               277 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	struct iwl_nvm_section *sections = mvm->nvm_sections;
mvm               284 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	if (mvm->trans->cfg->nvm_type == IWL_NVM) {
mvm               285 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 		if (!mvm->nvm_sections[NVM_SECTION_TYPE_SW].data ||
mvm               286 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 		    !mvm->nvm_sections[mvm->cfg->nvm_hw_section_num].data) {
mvm               287 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 			IWL_ERR(mvm, "Can't parse empty OTP/NVM sections\n");
mvm               291 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 		if (mvm->trans->cfg->nvm_type == IWL_NVM_SDP)
mvm               297 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 		if (!mvm->nvm_sections[NVM_SECTION_TYPE_SW].data ||
mvm               298 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 		    !mvm->nvm_sections[regulatory_type].data) {
mvm               299 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 			IWL_ERR(mvm,
mvm               304 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 		if (!mvm->nvm_sections[mvm->cfg->nvm_hw_section_num].data &&
mvm               305 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 		    !mvm->nvm_sections[NVM_SECTION_TYPE_MAC_OVERRIDE].data) {
mvm               306 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 			IWL_ERR(mvm,
mvm               312 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 		if (mvm->trans->cfg->nvm_type == IWL_NVM_EXT &&
mvm               313 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 		    !mvm->nvm_sections[NVM_SECTION_TYPE_PHY_SKU].data) {
mvm               314 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 			IWL_ERR(mvm,
mvm               320 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	hw = (const __be16 *)sections[mvm->cfg->nvm_hw_section_num].data;
mvm               327 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	regulatory = mvm->trans->cfg->nvm_type == IWL_NVM_SDP ?
mvm               332 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 		      fw_has_capa(&mvm->fw->ucode_capa,
mvm               335 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	return iwl_parse_nvm_data(mvm->trans, mvm->cfg, hw, sw, calib,
mvm               337 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 				  mvm->fw->valid_tx_ant, mvm->fw->valid_rx_ant,
mvm               342 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c int iwl_mvm_load_nvm_to_nic(struct iwl_mvm *mvm)
mvm               345 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	struct iwl_nvm_section *sections = mvm->nvm_sections;
mvm               347 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	IWL_DEBUG_EEPROM(mvm->trans->dev, "'Write to NVM\n");
mvm               349 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	for (i = 0; i < ARRAY_SIZE(mvm->nvm_sections); i++) {
mvm               350 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 		if (!mvm->nvm_sections[i].data || !mvm->nvm_sections[i].length)
mvm               352 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 		ret = iwl_nvm_write_section(mvm, i, sections[i].data,
mvm               355 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 			IWL_ERR(mvm, "iwl_mvm_send_cmd failed: %d\n", ret);
mvm               362 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c int iwl_nvm_init(struct iwl_mvm *mvm)
mvm               367 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	const char *nvm_file_C = mvm->cfg->default_nvm_file_C_step;
mvm               369 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	if (WARN_ON_ONCE(mvm->cfg->nvm_hw_section_num >= NVM_MAX_NUM_SECTIONS))
mvm               374 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	IWL_DEBUG_EEPROM(mvm->trans->dev, "Read from NVM\n");
mvm               376 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	nvm_buffer = kmalloc(mvm->trans->trans_cfg->base_params->eeprom_size,
mvm               382 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 		ret = iwl_nvm_read_section(mvm, section, nvm_buffer,
mvm               397 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 		iwl_nvm_fixups(mvm->trans->hw_id, section, temp, ret);
mvm               399 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 		mvm->nvm_sections[section].data = temp;
mvm               400 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 		mvm->nvm_sections[section].length = ret;
mvm               405 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 			mvm->nvm_sw_blob.data = temp;
mvm               406 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 			mvm->nvm_sw_blob.size  = ret;
mvm               409 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 			mvm->nvm_calib_blob.data = temp;
mvm               410 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 			mvm->nvm_calib_blob.size  = ret;
mvm               413 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 			mvm->nvm_prod_blob.data = temp;
mvm               414 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 			mvm->nvm_prod_blob.size  = ret;
mvm               417 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 			mvm->nvm_phy_sku_blob.data = temp;
mvm               418 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 			mvm->nvm_phy_sku_blob.size  = ret;
mvm               422 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 			mvm->nvm_reg_blob.data = temp;
mvm               423 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 			mvm->nvm_reg_blob.size  = ret;
mvm               426 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 			if (section == mvm->cfg->nvm_hw_section_num) {
mvm               427 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 				mvm->nvm_hw_blob.data = temp;
mvm               428 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 				mvm->nvm_hw_blob.size = ret;
mvm               435 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 		IWL_ERR(mvm, "OTP is blank\n");
mvm               439 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	if (mvm->nvm_file_name) {
mvm               441 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 		ret = iwl_read_external_nvm(mvm->trans, mvm->nvm_file_name,
mvm               442 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 					    mvm->nvm_sections);
mvm               444 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 			mvm->nvm_file_name = nvm_file_C;
mvm               447 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 			    mvm->nvm_file_name) {
mvm               449 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 				ret = iwl_read_external_nvm(mvm->trans,
mvm               450 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 							    mvm->nvm_file_name,
mvm               451 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 							    mvm->nvm_sections);
mvm               461 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	mvm->nvm_data = iwl_parse_nvm_sections(mvm);
mvm               462 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	if (!mvm->nvm_data)
mvm               464 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	IWL_DEBUG_EEPROM(mvm->trans->dev, "nvm version = %x\n",
mvm               465 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 			 mvm->nvm_data->nvm_version);
mvm               471 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c iwl_mvm_update_mcc(struct iwl_mvm *mvm, const char *alpha2,
mvm               491 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	if (WARN_ON_ONCE(!iwl_mvm_is_lar_supported(mvm)))
mvm               496 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	IWL_DEBUG_LAR(mvm, "send MCC update to FW with '%c%c' src = %d\n",
mvm               499 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	ret = iwl_mvm_send_cmd(mvm, &cmd);
mvm               506 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	if (fw_has_capa(&mvm->fw->ucode_capa,
mvm               551 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	IWL_DEBUG_LAR(mvm,
mvm               560 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c int iwl_mvm_init_mcc(struct iwl_mvm *mvm)
mvm               568 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	if (mvm->cfg->nvm_type == IWL_NVM_EXT) {
mvm               569 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 		tlv_lar = fw_has_capa(&mvm->fw->ucode_capa,
mvm               571 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 		nvm_lar = mvm->nvm_data->lar_enabled;
mvm               573 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 			IWL_INFO(mvm,
mvm               579 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	if (!iwl_mvm_is_lar_supported(mvm))
mvm               586 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	retval = iwl_mvm_init_fw_regd(mvm);
mvm               596 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	mvm->lar_regdom_set = false;
mvm               598 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	regd = iwl_mvm_get_current_regdomain(mvm, NULL);
mvm               602 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	if (iwl_mvm_is_wifi_mcc_supported(mvm) &&
mvm               603 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	    !iwl_acpi_get_mcc(mvm->dev, mcc)) {
mvm               605 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 		regd = iwl_mvm_get_regdomain(mvm->hw->wiphy, mcc,
mvm               611 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	retval = regulatory_set_wiphy_regd_sync_rtnl(mvm->hw->wiphy, regd);
mvm               616 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c void iwl_mvm_rx_chub_update_mcc(struct iwl_mvm *mvm,
mvm               626 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	lockdep_assert_held(&mvm->mutex);
mvm               628 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	if (iwl_mvm_is_vif_assoc(mvm) && notif->source_id == MCC_SOURCE_WIFI) {
mvm               629 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 		IWL_DEBUG_LAR(mvm, "Ignore mcc update while associated\n");
mvm               633 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	if (WARN_ON_ONCE(!iwl_mvm_is_lar_supported(mvm)))
mvm               641 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	IWL_DEBUG_LAR(mvm,
mvm               644 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	regd = iwl_mvm_get_regdomain(mvm->hw->wiphy, mcc, src, NULL);
mvm               648 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	wgds_tbl_idx = iwl_mvm_get_sar_geo_profile(mvm);
mvm               650 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 		IWL_DEBUG_INFO(mvm, "SAR WGDS is disabled (%d)\n",
mvm               653 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 		IWL_DEBUG_INFO(mvm, "SAR WGDS: geo profile %d is configured\n",
mvm               656 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c 	regulatory_set_wiphy_regd(mvm->hw->wiphy, regd);
mvm                84 drivers/net/wireless/intel/iwlwifi/mvm/offloading.c int iwl_mvm_send_proto_offload(struct iwl_mvm *mvm,
mvm               104 drivers/net/wireless/intel/iwlwifi/mvm/offloading.c 	u32 capa_flags = mvm->fw->ucode_capa.flags;
mvm               249 drivers/net/wireless/intel/iwlwifi/mvm/offloading.c 	return iwl_mvm_send_cmd(mvm, &hcmd);
mvm               142 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	struct iwl_mvm *mvm = IWL_OP_MODE_GET_MVM(op_mode);
mvm               145 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	u32 phy_config = iwl_mvm_get_phy_config(mvm);
mvm               155 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	reg_val |= CSR_HW_REV_STEP(mvm->trans->hw_rev) <<
mvm               157 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	reg_val |= CSR_HW_REV_DASH(mvm->trans->hw_rev) <<
mvm               176 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	if (mvm->trans->trans_cfg->device_family < IWL_DEVICE_FAMILY_8000)
mvm               179 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	if (iwl_fw_dbg_is_d3_debug_enabled(&mvm->fwrt))
mvm               182 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	iwl_trans_set_bits_mask(mvm->trans, CSR_HW_IF_CONFIG_REG,
mvm               193 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	IWL_DEBUG_INFO(mvm, "Radio type=0x%x-0x%x-0x%x\n", radio_cfg_type,
mvm               201 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	if (!mvm->trans->cfg->apmg_not_supported)
mvm               202 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		iwl_set_bits_mask_prph(mvm->trans, APMG_PS_CTRL_REG,
mvm               232 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	void (*fn)(struct iwl_mvm *mvm, struct iwl_rx_cmd_buffer *rxb);
mvm               522 drivers/net/wireless/intel/iwlwifi/mvm/ops.c static u32 iwl_mvm_min_backoff(struct iwl_mvm *mvm)
mvm               524 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	const struct iwl_pwr_tx_backoff *backoff = mvm->cfg->pwr_tx_backoffs;
mvm               530 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	dflt_pwr_limit = iwl_acpi_get_pwr_limit(mvm->dev);
mvm               544 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	struct iwl_mvm *mvm =
mvm               549 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	mutex_lock(&mvm->mutex);
mvm               552 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		rcu_dereference_protected(mvm->csa_tx_blocked_vif,
mvm               553 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 					  lockdep_is_held(&mvm->mutex));
mvm               559 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	iwl_mvm_modify_all_sta_disable_tx(mvm, mvmvif, false);
mvm               560 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	RCU_INIT_POINTER(mvm->csa_tx_blocked_vif, NULL);
mvm               562 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	mutex_unlock(&mvm->mutex);
mvm               567 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	struct iwl_mvm *mvm = ctx;
mvm               569 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	mutex_lock(&mvm->mutex);
mvm               576 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	struct iwl_mvm *mvm = ctx;
mvm               578 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	mutex_unlock(&mvm->mutex);
mvm               588 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	struct iwl_mvm *mvm = (struct iwl_mvm *)ctx;
mvm               591 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	mutex_lock(&mvm->mutex);
mvm               592 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	ret = iwl_mvm_send_cmd(mvm, host_cmd);
mvm               593 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	mutex_unlock(&mvm->mutex);
mvm               617 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	struct iwl_mvm *mvm;
mvm               631 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	BUILD_BUG_ON(ARRAY_SIZE(mvm->fw_id_to_mac_id) != IWL_MVM_STATION_COUNT);
mvm               654 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	mvm = IWL_OP_MODE_GET_MVM(op_mode);
mvm               655 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	mvm->dev = trans->dev;
mvm               656 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	mvm->trans = trans;
mvm               657 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	mvm->cfg = cfg;
mvm               658 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	mvm->fw = fw;
mvm               659 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	mvm->hw = hw;
mvm               661 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	iwl_fw_runtime_init(&mvm->fwrt, trans, fw, &iwl_mvm_fwrt_ops, mvm,
mvm               664 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	mvm->init_status = 0;
mvm               666 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	if (iwl_mvm_has_new_rx_api(mvm)) {
mvm               682 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	mvm->fw_restart = iwlwifi_mod_params.fw_restart ? -1 : 0;
mvm               684 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	mvm->aux_queue = IWL_MVM_DQA_AUX_QUEUE;
mvm               685 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	mvm->snif_queue = IWL_MVM_DQA_INJECT_MONITOR_QUEUE;
mvm               686 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	mvm->probe_queue = IWL_MVM_DQA_AP_PROBE_RESP_QUEUE;
mvm               687 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	mvm->p2p_dev_queue = IWL_MVM_DQA_P2P_DEVICE_QUEUE;
mvm               689 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	mvm->sf_state = SF_UNINIT;
mvm               690 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	if (iwl_mvm_has_unified_ucode(mvm))
mvm               691 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		iwl_fw_set_current_image(&mvm->fwrt, IWL_UCODE_REGULAR);
mvm               693 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		iwl_fw_set_current_image(&mvm->fwrt, IWL_UCODE_INIT);
mvm               694 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	mvm->drop_bcn_ap_mode = true;
mvm               696 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	mutex_init(&mvm->mutex);
mvm               697 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	spin_lock_init(&mvm->async_handlers_lock);
mvm               698 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	INIT_LIST_HEAD(&mvm->time_event_list);
mvm               699 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	INIT_LIST_HEAD(&mvm->aux_roc_te_list);
mvm               700 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	INIT_LIST_HEAD(&mvm->async_handlers_list);
mvm               701 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	spin_lock_init(&mvm->time_event_lock);
mvm               702 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	INIT_LIST_HEAD(&mvm->ftm_initiator.loc_list);
mvm               704 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	INIT_WORK(&mvm->async_handlers_wk, iwl_mvm_async_handlers_wk);
mvm               705 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	INIT_WORK(&mvm->roc_done_wk, iwl_mvm_roc_done_wk);
mvm               706 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	INIT_DELAYED_WORK(&mvm->tdls_cs.dwork, iwl_mvm_tdls_ch_switch_work);
mvm               707 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	INIT_DELAYED_WORK(&mvm->scan_timeout_dwork, iwl_mvm_scan_timeout_wk);
mvm               708 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	INIT_WORK(&mvm->add_stream_wk, iwl_mvm_add_new_dqa_stream_wk);
mvm               709 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	INIT_LIST_HEAD(&mvm->add_stream_txqs);
mvm               711 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	init_waitqueue_head(&mvm->rx_sync_waitq);
mvm               713 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	atomic_set(&mvm->queue_sync_counter, 0);
mvm               715 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	SET_IEEE80211_DEV(mvm->hw, mvm->trans->dev);
mvm               717 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	spin_lock_init(&mvm->tcm.lock);
mvm               718 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	INIT_DELAYED_WORK(&mvm->tcm.work, iwl_mvm_tcm_work);
mvm               719 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	mvm->tcm.ts = jiffies;
mvm               720 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	mvm->tcm.ll_ts = jiffies;
mvm               721 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	mvm->tcm.uapsd_nonagg_ts = jiffies;
mvm               723 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	INIT_DELAYED_WORK(&mvm->cs_tx_unblock_dwork, iwl_mvm_tx_unblock_dwork);
mvm               733 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	if (mvm->trans->trans_cfg->device_family >= IWL_DEVICE_FAMILY_22560)
mvm               759 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		mvm->trans->trans_cfg->device_family < IWL_DEVICE_FAMILY_22560;
mvm               775 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		iwl_mvm_get_wd_timeout(mvm, NULL, false, true);
mvm               777 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	snprintf(mvm->hw->wiphy->fw_version,
mvm               778 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		 sizeof(mvm->hw->wiphy->fw_version),
mvm               782 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	iwl_trans_configure(mvm->trans, &trans_cfg);
mvm               785 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	trans->dbg.dest_tlv = mvm->fw->dbg.dest_tlv;
mvm               786 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	trans->dbg.n_dest_reg = mvm->fw->dbg.n_dest_reg;
mvm               787 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	memcpy(trans->dbg.conf_tlv, mvm->fw->dbg.conf_tlv,
mvm               789 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	trans->dbg.trigger_tlv = mvm->fw->dbg.trigger_tlv;
mvm               791 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	trans->iml = mvm->fw->iml;
mvm               792 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	trans->iml_len = mvm->fw->iml_len;
mvm               795 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	iwl_notification_wait_init(&mvm->notif_wait);
mvm               798 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	mvm->phy_db = iwl_phy_db_init(trans);
mvm               799 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	if (!mvm->phy_db) {
mvm               800 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		IWL_ERR(mvm, "Cannot init phy_db\n");
mvm               804 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	IWL_INFO(mvm, "Detected %s, REV=0x%X\n",
mvm               805 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		 mvm->cfg->name, mvm->trans->hw_rev);
mvm               808 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		mvm->nvm_file_name = iwlwifi_mod_params.nvm_file;
mvm               810 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		IWL_DEBUG_EEPROM(mvm->trans->dev,
mvm               813 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	err = iwl_trans_start_hw(mvm->trans);
mvm               817 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	mutex_lock(&mvm->mutex);
mvm               818 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	err = iwl_run_init_mvm_ucode(mvm, true);
mvm               820 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		iwl_fw_dbg_error_collect(&mvm->fwrt, FW_DBG_TRIGGER_DRIVER);
mvm               822 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		iwl_mvm_stop_device(mvm);
mvm               823 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	mutex_unlock(&mvm->mutex);
mvm               825 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		IWL_ERR(mvm, "Failed to run INIT ucode: %d\n", err);
mvm               829 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	scan_size = iwl_mvm_scan_size(mvm);
mvm               831 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	mvm->scan_cmd = kmalloc(scan_size, GFP_KERNEL);
mvm               832 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	if (!mvm->scan_cmd)
mvm               836 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	mvm->last_ebs_successful = true;
mvm               838 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	err = iwl_mvm_mac_setup_register(mvm);
mvm               841 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	mvm->hw_registered = true;
mvm               843 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	min_backoff = iwl_mvm_min_backoff(mvm);
mvm               844 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	iwl_mvm_thermal_initialize(mvm, min_backoff);
mvm               846 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	iwl_mvm_dbgfs_register(mvm, dbgfs_dir);
mvm               848 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	if (!iwl_mvm_has_new_rx_stats_api(mvm))
mvm               849 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		memset(&mvm->rx_stats_v3, 0,
mvm               852 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		memset(&mvm->rx_stats, 0, sizeof(struct mvm_statistics_rx));
mvm               854 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	iwl_mvm_toggle_tx_ant(mvm, &mvm->mgmt_last_antenna_idx);
mvm               859 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	iwl_fw_flush_dumps(&mvm->fwrt);
mvm               860 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	iwl_fw_runtime_free(&mvm->fwrt);
mvm               864 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	iwl_phy_db_free(mvm->phy_db);
mvm               865 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	kfree(mvm->scan_cmd);
mvm               868 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	ieee80211_free_hw(mvm->hw);
mvm               874 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	struct iwl_mvm *mvm = IWL_OP_MODE_GET_MVM(op_mode);
mvm               877 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	iwl_mvm_leds_exit(mvm);
mvm               879 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	iwl_mvm_thermal_exit(mvm);
mvm               881 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	ieee80211_unregister_hw(mvm->hw);
mvm               883 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	kfree(mvm->scan_cmd);
mvm               884 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	kfree(mvm->mcast_filter_cmd);
mvm               885 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	mvm->mcast_filter_cmd = NULL;
mvm               887 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	kfree(mvm->error_recovery_buf);
mvm               888 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	mvm->error_recovery_buf = NULL;
mvm               890 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	iwl_trans_op_mode_leave(mvm->trans);
mvm               892 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	iwl_phy_db_free(mvm->phy_db);
mvm               893 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	mvm->phy_db = NULL;
mvm               895 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	kfree(mvm->nvm_data);
mvm               897 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		kfree(mvm->nvm_sections[i].data);
mvm               899 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	cancel_delayed_work_sync(&mvm->tcm.work);
mvm               901 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	iwl_fw_runtime_free(&mvm->fwrt);
mvm               902 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	mutex_destroy(&mvm->mutex);
mvm               904 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	ieee80211_free_hw(mvm->hw);
mvm               911 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	void (*fn)(struct iwl_mvm *mvm, struct iwl_rx_cmd_buffer *rxb);
mvm               914 drivers/net/wireless/intel/iwlwifi/mvm/ops.c void iwl_mvm_async_handlers_purge(struct iwl_mvm *mvm)
mvm               918 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	spin_lock_bh(&mvm->async_handlers_lock);
mvm               919 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	list_for_each_entry_safe(entry, tmp, &mvm->async_handlers_list, list) {
mvm               924 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	spin_unlock_bh(&mvm->async_handlers_lock);
mvm               929 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	struct iwl_mvm *mvm =
mvm               940 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	spin_lock_bh(&mvm->async_handlers_lock);
mvm               941 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	list_splice_init(&mvm->async_handlers_list, &local_list);
mvm               942 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	spin_unlock_bh(&mvm->async_handlers_lock);
mvm               946 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 			mutex_lock(&mvm->mutex);
mvm               947 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		entry->fn(mvm, &entry->rxb);
mvm               951 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 			mutex_unlock(&mvm->mutex);
mvm               956 drivers/net/wireless/intel/iwlwifi/mvm/ops.c static inline void iwl_mvm_rx_check_trigger(struct iwl_mvm *mvm,
mvm               963 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	trig = iwl_fw_dbg_trigger_on(&mvm->fwrt, NULL,
mvm               979 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		iwl_fw_dbg_collect_trig(&mvm->fwrt, trig,
mvm               986 drivers/net/wireless/intel/iwlwifi/mvm/ops.c static void iwl_mvm_rx_common(struct iwl_mvm *mvm,
mvm               993 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	iwl_dbg_tlv_time_point(&mvm->fwrt,
mvm               995 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	iwl_mvm_rx_check_trigger(mvm, pkt);
mvm              1002 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	iwl_notification_wait_notify(&mvm->notif_wait, pkt);
mvm              1012 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 			rx_h->fn(mvm, rxb);
mvm              1026 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		spin_lock(&mvm->async_handlers_lock);
mvm              1027 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		list_add_tail(&entry->list, &mvm->async_handlers_list);
mvm              1028 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		spin_unlock(&mvm->async_handlers_lock);
mvm              1029 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		schedule_work(&mvm->async_handlers_wk);
mvm              1039 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	struct iwl_mvm *mvm = IWL_OP_MODE_GET_MVM(op_mode);
mvm              1043 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		iwl_mvm_rx_rx_mpdu(mvm, napi, rxb);
mvm              1045 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		iwl_mvm_rx_rx_phy_cmd(mvm, rxb);
mvm              1047 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		iwl_mvm_rx_common(mvm, rxb, pkt);
mvm              1055 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	struct iwl_mvm *mvm = IWL_OP_MODE_GET_MVM(op_mode);
mvm              1059 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		iwl_mvm_rx_mpdu_mq(mvm, napi, rxb, 0);
mvm              1062 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		iwl_mvm_rx_queue_notif(mvm, napi, rxb, 0);
mvm              1064 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		iwl_mvm_rx_frame_release(mvm, napi, rxb, 0);
mvm              1066 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		iwl_mvm_rx_bar_frame_release(mvm, napi, rxb, 0);
mvm              1068 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		iwl_mvm_rx_monitor_no_data(mvm, napi, rxb, 0);
mvm              1070 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		iwl_mvm_rx_common(mvm, rxb, pkt);
mvm              1076 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	struct iwl_mvm *mvm = IWL_OP_MODE_GET_MVM(op_mode);
mvm              1082 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	iwl_trans_block_txq_ptrs(mvm->trans, false);
mvm              1085 drivers/net/wireless/intel/iwlwifi/mvm/ops.c static int iwl_mvm_is_static_queue(struct iwl_mvm *mvm, int queue)
mvm              1087 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	return queue == mvm->aux_queue || queue == mvm->probe_queue ||
mvm              1088 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		queue == mvm->p2p_dev_queue || queue == mvm->snif_queue;
mvm              1094 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	struct iwl_mvm *mvm = IWL_OP_MODE_GET_MVM(op_mode);
mvm              1103 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	sta_id = iwl_mvm_has_new_tx_api(mvm) ?
mvm              1104 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		mvm->tvqm_info[hw_queue].sta_id :
mvm              1105 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		mvm->queue_info[hw_queue].ra_sta_id;
mvm              1107 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	if (WARN_ON_ONCE(sta_id >= ARRAY_SIZE(mvm->fw_id_to_mac_id)))
mvm              1112 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	sta = rcu_dereference(mvm->fw_id_to_mac_id[sta_id]);
mvm              1117 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	if (iwl_mvm_is_static_queue(mvm, hw_queue)) {
mvm              1119 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 			ieee80211_stop_queues(mvm->hw);
mvm              1121 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 			ieee80211_wake_queues(mvm->hw);
mvm              1126 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	if (iwl_mvm_has_new_tx_api(mvm)) {
mvm              1127 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		int tid = mvm->tvqm_info[hw_queue].txq_tid;
mvm              1131 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		tid_bitmap = mvm->queue_info[hw_queue].tid_bitmap;
mvm              1145 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 			iwl_mvm_mac_itxq_xmit(mvm->hw, txq);
mvm              1162 drivers/net/wireless/intel/iwlwifi/mvm/ops.c static void iwl_mvm_set_rfkill_state(struct iwl_mvm *mvm)
mvm              1164 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	bool state = iwl_mvm_is_radio_killed(mvm);
mvm              1167 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		wake_up(&mvm->rx_sync_waitq);
mvm              1169 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	wiphy_rfkill_set_hw_state(mvm->hw->wiphy, state);
mvm              1172 drivers/net/wireless/intel/iwlwifi/mvm/ops.c void iwl_mvm_set_hw_ctkill_state(struct iwl_mvm *mvm, bool state)
mvm              1175 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		set_bit(IWL_MVM_STATUS_HW_CTKILL, &mvm->status);
mvm              1177 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		clear_bit(IWL_MVM_STATUS_HW_CTKILL, &mvm->status);
mvm              1179 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	iwl_mvm_set_rfkill_state(mvm);
mvm              1184 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	struct iwl_mvm *mvm = IWL_OP_MODE_GET_MVM(op_mode);
mvm              1185 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	bool rfkill_safe_init_done = READ_ONCE(mvm->rfkill_safe_init_done);
mvm              1186 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	bool unified = iwl_mvm_has_unified_ucode(mvm);
mvm              1189 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		set_bit(IWL_MVM_STATUS_HW_RFKILL, &mvm->status);
mvm              1191 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		clear_bit(IWL_MVM_STATUS_HW_RFKILL, &mvm->status);
mvm              1193 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	iwl_mvm_set_rfkill_state(mvm);
mvm              1197 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		iwl_abort_notification_waits(&mvm->notif_wait);
mvm              1215 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	struct iwl_mvm *mvm = IWL_OP_MODE_GET_MVM(op_mode);
mvm              1219 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	iwl_trans_free_tx_cmd(mvm->trans, info->driver_data[1]);
mvm              1220 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	ieee80211_free_txskb(mvm->hw, skb);
mvm              1239 drivers/net/wireless/intel/iwlwifi/mvm/ops.c void iwl_mvm_nic_restart(struct iwl_mvm *mvm, bool fw_error)
mvm              1241 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	iwl_abort_notification_waits(&mvm->notif_wait);
mvm              1242 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	iwl_dbg_tlv_del_timers(mvm->trans);
mvm              1254 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	iwl_mvm_report_scan_aborted(mvm);
mvm              1262 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	if (!mvm->fw_restart && fw_error) {
mvm              1263 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		iwl_fw_error_collect(&mvm->fwrt);
mvm              1264 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	} else if (test_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status)) {
mvm              1267 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		IWL_ERR(mvm,
mvm              1276 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 			IWL_ERR(mvm, "Module is being unloaded - abort\n");
mvm              1285 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		reprobe->dev = mvm->trans->dev;
mvm              1289 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 			    &mvm->status)) {
mvm              1290 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		IWL_ERR(mvm, "HW restart already requested, but not started\n");
mvm              1291 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	} else if (mvm->fwrt.cur_fw_img == IWL_UCODE_REGULAR &&
mvm              1292 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		   mvm->hw_registered &&
mvm              1293 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		   !test_bit(STATUS_TRANS_DEAD, &mvm->trans->status)) {
mvm              1294 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		if (mvm->fw->ucode_capa.error_log_size) {
mvm              1295 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 			u32 src_size = mvm->fw->ucode_capa.error_log_size;
mvm              1296 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 			u32 src_addr = mvm->fw->ucode_capa.error_log_addr;
mvm              1300 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 				mvm->error_recovery_buf = recover_buf;
mvm              1301 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 				iwl_trans_read_mem_bytes(mvm->trans,
mvm              1308 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		iwl_fw_error_collect(&mvm->fwrt);
mvm              1310 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		if (fw_error && mvm->fw_restart > 0)
mvm              1311 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 			mvm->fw_restart--;
mvm              1312 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		set_bit(IWL_MVM_STATUS_HW_RESTART_REQUESTED, &mvm->status);
mvm              1313 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		ieee80211_restart_hw(mvm->hw);
mvm              1319 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	struct iwl_mvm *mvm = IWL_OP_MODE_GET_MVM(op_mode);
mvm              1321 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	if (!test_bit(STATUS_TRANS_DEAD, &mvm->trans->status))
mvm              1322 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		iwl_mvm_dump_nic_error_log(mvm);
mvm              1324 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	iwl_mvm_nic_restart(mvm, true);
mvm              1329 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	struct iwl_mvm *mvm = IWL_OP_MODE_GET_MVM(op_mode);
mvm              1332 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	iwl_mvm_nic_restart(mvm, true);
mvm              1359 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 	struct iwl_mvm *mvm = IWL_OP_MODE_GET_MVM(op_mode);
mvm              1364 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		iwl_mvm_rx_frame_release(mvm, napi, rxb, queue);
mvm              1367 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		iwl_mvm_rx_queue_notif(mvm, napi, rxb, queue);
mvm              1369 drivers/net/wireless/intel/iwlwifi/mvm/ops.c 		iwl_mvm_rx_mpdu_mq(mvm, napi, rxb, queue);
mvm               141 drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c static void iwl_mvm_phy_ctxt_cmd_data(struct iwl_mvm *mvm,
mvm               148 drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c 		iwl_mvm_chan_info_cmd_tail(mvm, &cmd->ci);
mvm               151 drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c 	iwl_mvm_set_chan_info_chandef(mvm, &cmd->ci, chandef);
mvm               164 drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c 	if (active_cnt == 1 && iwl_mvm_rx_diversity_allowed(mvm)) {
mvm               169 drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c 	tail->rxchain_info = cpu_to_le32(iwl_mvm_get_valid_rx_ant(mvm) <<
mvm               175 drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c 	if (unlikely(mvm->dbgfs_rx_phyinfo))
mvm               176 drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c 		tail->rxchain_info = cpu_to_le32(mvm->dbgfs_rx_phyinfo);
mvm               179 drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c 	tail->txchain_info = cpu_to_le32(iwl_mvm_get_valid_tx_ant(mvm));
mvm               188 drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c static int iwl_mvm_phy_ctxt_apply(struct iwl_mvm *mvm,
mvm               196 drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c 	u16 len = sizeof(cmd) - iwl_mvm_chan_info_padding(mvm);
mvm               202 drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c 	iwl_mvm_phy_ctxt_cmd_data(mvm, &cmd, chandef,
mvm               205 drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c 	ret = iwl_mvm_send_cmd_pdu(mvm, PHY_CONTEXT_CMD, 0, len, &cmd);
mvm               207 drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c 		IWL_ERR(mvm, "PHY ctxt cmd error. ret=%d\n", ret);
mvm               214 drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c int iwl_mvm_phy_ctxt_add(struct iwl_mvm *mvm, struct iwl_mvm_phy_ctxt *ctxt,
mvm               218 drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c 	WARN_ON(!test_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status) &&
mvm               220 drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c 	lockdep_assert_held(&mvm->mutex);
mvm               224 drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c 	return iwl_mvm_phy_ctxt_apply(mvm, ctxt, chandef,
mvm               233 drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c void iwl_mvm_phy_ctxt_ref(struct iwl_mvm *mvm, struct iwl_mvm_phy_ctxt *ctxt)
mvm               235 drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c 	lockdep_assert_held(&mvm->mutex);
mvm               244 drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c int iwl_mvm_phy_ctxt_changed(struct iwl_mvm *mvm, struct iwl_mvm_phy_ctxt *ctxt,
mvm               250 drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c 	lockdep_assert_held(&mvm->mutex);
mvm               252 drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c 	if (fw_has_capa(&mvm->fw->ucode_capa,
mvm               258 drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c 		ret = iwl_mvm_phy_ctxt_apply(mvm, ctxt, chandef,
mvm               270 drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c 	return iwl_mvm_phy_ctxt_apply(mvm, ctxt, chandef,
mvm               275 drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c void iwl_mvm_phy_ctxt_unref(struct iwl_mvm *mvm, struct iwl_mvm_phy_ctxt *ctxt)
mvm               277 drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c 	lockdep_assert_held(&mvm->mutex);
mvm               296 drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c 			sband = mvm->hw->wiphy->bands[band++];
mvm               304 drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c 		iwl_mvm_phy_ctxt_changed(mvm, ctxt, &chandef, 1, 1);
mvm               322 drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c int iwl_mvm_phy_ctx_count(struct iwl_mvm *mvm)
mvm               326 drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c 	ieee80211_iterate_active_interfaces_atomic(mvm->hw,
mvm                80 drivers/net/wireless/intel/iwlwifi/mvm/power.c int iwl_mvm_beacon_filter_send_cmd(struct iwl_mvm *mvm,
mvm                86 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	IWL_DEBUG_POWER(mvm, "ba_enable_beacon_abort is: %d\n",
mvm                88 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	IWL_DEBUG_POWER(mvm, "ba_escape_timer is: %d\n",
mvm                90 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	IWL_DEBUG_POWER(mvm, "bf_debug_flag is: %d\n",
mvm                92 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	IWL_DEBUG_POWER(mvm, "bf_enable_beacon_filter is: %d\n",
mvm                94 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	IWL_DEBUG_POWER(mvm, "bf_energy_delta is: %d\n",
mvm                96 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	IWL_DEBUG_POWER(mvm, "bf_escape_timer is: %d\n",
mvm                98 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	IWL_DEBUG_POWER(mvm, "bf_roaming_energy_delta is: %d\n",
mvm               100 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	IWL_DEBUG_POWER(mvm, "bf_roaming_state is: %d\n",
mvm               102 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	IWL_DEBUG_POWER(mvm, "bf_temp_threshold is: %d\n",
mvm               104 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	IWL_DEBUG_POWER(mvm, "bf_temp_fast_filter is: %d\n",
mvm               106 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	IWL_DEBUG_POWER(mvm, "bf_temp_slow_filter is: %d\n",
mvm               108 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	IWL_DEBUG_POWER(mvm, "bf_threshold_absolute_low is: %d, %d\n",
mvm               112 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	IWL_DEBUG_POWER(mvm, "bf_threshold_absolute_high is: %d, %d\n",
mvm               116 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	if (fw_has_api(&mvm->fw->ucode_capa,
mvm               123 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	return iwl_mvm_send_cmd_pdu(mvm, REPLY_BEACON_FILTERING_CMD, flags,
mvm               128 drivers/net/wireless/intel/iwlwifi/mvm/power.c void iwl_mvm_beacon_filter_set_cqm_params(struct iwl_mvm *mvm,
mvm               144 drivers/net/wireless/intel/iwlwifi/mvm/power.c static void iwl_mvm_power_log(struct iwl_mvm *mvm,
mvm               147 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	IWL_DEBUG_POWER(mvm,
mvm               151 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	IWL_DEBUG_POWER(mvm, "Keep alive = %u sec\n",
mvm               155 drivers/net/wireless/intel/iwlwifi/mvm/power.c 		IWL_DEBUG_POWER(mvm, "Disable power management\n");
mvm               159 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	IWL_DEBUG_POWER(mvm, "Rx timeout = %u usec\n",
mvm               161 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	IWL_DEBUG_POWER(mvm, "Tx timeout = %u usec\n",
mvm               164 drivers/net/wireless/intel/iwlwifi/mvm/power.c 		IWL_DEBUG_POWER(mvm, "DTIM periods to skip = %u\n",
mvm               167 drivers/net/wireless/intel/iwlwifi/mvm/power.c 		IWL_DEBUG_POWER(mvm, "LP RX RSSI threshold = %u\n",
mvm               170 drivers/net/wireless/intel/iwlwifi/mvm/power.c 		IWL_DEBUG_POWER(mvm, "uAPSD enabled\n");
mvm               171 drivers/net/wireless/intel/iwlwifi/mvm/power.c 		IWL_DEBUG_POWER(mvm, "Rx timeout (uAPSD) = %u usec\n",
mvm               173 drivers/net/wireless/intel/iwlwifi/mvm/power.c 		IWL_DEBUG_POWER(mvm, "Tx timeout (uAPSD) = %u usec\n",
mvm               175 drivers/net/wireless/intel/iwlwifi/mvm/power.c 		IWL_DEBUG_POWER(mvm, "QNDP TID = %d\n", cmd->qndp_tid);
mvm               176 drivers/net/wireless/intel/iwlwifi/mvm/power.c 		IWL_DEBUG_POWER(mvm, "ACs flags = 0x%x\n", cmd->uapsd_ac_flags);
mvm               177 drivers/net/wireless/intel/iwlwifi/mvm/power.c 		IWL_DEBUG_POWER(mvm, "Max SP = %d\n", cmd->uapsd_max_sp);
mvm               181 drivers/net/wireless/intel/iwlwifi/mvm/power.c static void iwl_mvm_power_configure_uapsd(struct iwl_mvm *mvm,
mvm               201 drivers/net/wireless/intel/iwlwifi/mvm/power.c 		if (mvm->fwrt.cur_fw_img != IWL_UCODE_WOWLAN)
mvm               236 drivers/net/wireless/intel/iwlwifi/mvm/power.c 			(mvm->fwrt.cur_fw_img == IWL_UCODE_WOWLAN) ?
mvm               241 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	cmd->uapsd_max_sp = mvm->hw->uapsd_max_sp_len;
mvm               243 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	if (mvm->fwrt.cur_fw_img == IWL_UCODE_WOWLAN || cmd->flags &
mvm               293 drivers/net/wireless/intel/iwlwifi/mvm/power.c static bool iwl_mvm_power_allow_uapsd(struct iwl_mvm *mvm,
mvm               315 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	if (iwl_mvm_phy_ctx_count(mvm) >= 2)
mvm               322 drivers/net/wireless/intel/iwlwifi/mvm/power.c 		if (!iwl_mvm_is_p2p_scm_uapsd_supported(mvm))
mvm               325 drivers/net/wireless/intel/iwlwifi/mvm/power.c 		ieee80211_iterate_active_interfaces_atomic(mvm->hw,
mvm               355 drivers/net/wireless/intel/iwlwifi/mvm/power.c static void iwl_mvm_power_config_skip_dtim(struct iwl_mvm *mvm,
mvm               393 drivers/net/wireless/intel/iwlwifi/mvm/power.c static void iwl_mvm_power_build_cmd(struct iwl_mvm *mvm,
mvm               419 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	if (mvm->ps_disabled)
mvm               428 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	    (!fw_has_capa(&mvm->fw->ucode_capa,
mvm               442 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	iwl_mvm_power_config_skip_dtim(mvm, vif, cmd, host_awake);
mvm               450 drivers/net/wireless/intel/iwlwifi/mvm/power.c 		   fw_has_capa(&mvm->fw->ucode_capa,
mvm               463 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	if (iwl_mvm_power_allow_uapsd(mvm, vif))
mvm               464 drivers/net/wireless/intel/iwlwifi/mvm/power.c 		iwl_mvm_power_configure_uapsd(mvm, vif, cmd);
mvm               512 drivers/net/wireless/intel/iwlwifi/mvm/power.c static int iwl_mvm_power_send_cmd(struct iwl_mvm *mvm,
mvm               517 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	iwl_mvm_power_build_cmd(mvm, vif, &cmd,
mvm               518 drivers/net/wireless/intel/iwlwifi/mvm/power.c 				mvm->fwrt.cur_fw_img != IWL_UCODE_WOWLAN);
mvm               519 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	iwl_mvm_power_log(mvm, &cmd);
mvm               524 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	return iwl_mvm_send_cmd_pdu(mvm, MAC_PM_POWER_TABLE, 0,
mvm               528 drivers/net/wireless/intel/iwlwifi/mvm/power.c int iwl_mvm_power_update_device(struct iwl_mvm *mvm)
mvm               535 drivers/net/wireless/intel/iwlwifi/mvm/power.c 		mvm->ps_disabled = true;
mvm               537 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	if (!mvm->ps_disabled)
mvm               541 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	if ((mvm->fwrt.cur_fw_img == IWL_UCODE_WOWLAN) ?
mvm               542 drivers/net/wireless/intel/iwlwifi/mvm/power.c 			mvm->disable_power_off_d3 : mvm->disable_power_off)
mvm               546 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	if (mvm->ext_clock_valid)
mvm               549 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	IWL_DEBUG_POWER(mvm,
mvm               553 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	return iwl_mvm_send_cmd_pdu(mvm, POWER_TABLE_CMD, 0, sizeof(cmd),
mvm               557 drivers/net/wireless/intel/iwlwifi/mvm/power.c void iwl_mvm_power_vif_assoc(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
mvm               580 drivers/net/wireless/intel/iwlwifi/mvm/power.c void iwl_mvm_power_uapsd_misbehaving_ap_notif(struct iwl_mvm *mvm,
mvm               588 drivers/net/wireless/intel/iwlwifi/mvm/power.c 		mvm->hw, IEEE80211_IFACE_ITER_NORMAL,
mvm               593 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	struct iwl_mvm *mvm;
mvm               669 drivers/net/wireless/intel/iwlwifi/mvm/power.c static void iwl_mvm_power_set_pm(struct iwl_mvm *mvm,
mvm               678 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	lockdep_assert_held(&mvm->mutex);
mvm               681 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	ieee80211_iterate_active_interfaces_atomic(mvm->hw,
mvm               696 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	if (iwl_mvm_tdls_sta_count(mvm, NULL))
mvm               739 drivers/net/wireless/intel/iwlwifi/mvm/power.c int iwl_mvm_power_mac_dbgfs_read(struct iwl_mvm *mvm,
mvm               747 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	mutex_lock(&mvm->mutex);
mvm               749 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	mutex_unlock(&mvm->mutex);
mvm               848 drivers/net/wireless/intel/iwlwifi/mvm/power.c static int _iwl_mvm_enable_beacon_filter(struct iwl_mvm *mvm,
mvm               856 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	if (mvmvif != mvm->bf_allowed_vif || !vif->bss_conf.dtim_period ||
mvm               860 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	iwl_mvm_beacon_filter_set_cqm_params(mvm, vif, cmd);
mvm               862 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	ret = iwl_mvm_beacon_filter_send_cmd(mvm, cmd, cmd_flags);
mvm               870 drivers/net/wireless/intel/iwlwifi/mvm/power.c int iwl_mvm_enable_beacon_filter(struct iwl_mvm *mvm,
mvm               879 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	return _iwl_mvm_enable_beacon_filter(mvm, vif, &cmd, flags);
mvm               882 drivers/net/wireless/intel/iwlwifi/mvm/power.c static int _iwl_mvm_disable_beacon_filter(struct iwl_mvm *mvm,
mvm               893 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	ret = iwl_mvm_beacon_filter_send_cmd(mvm, &cmd, flags);
mvm               901 drivers/net/wireless/intel/iwlwifi/mvm/power.c int iwl_mvm_disable_beacon_filter(struct iwl_mvm *mvm,
mvm               905 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	return _iwl_mvm_disable_beacon_filter(mvm, vif, flags);
mvm               908 drivers/net/wireless/intel/iwlwifi/mvm/power.c static int iwl_mvm_power_set_ps(struct iwl_mvm *mvm)
mvm               916 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	ieee80211_iterate_active_interfaces_atomic(mvm->hw,
mvm               922 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	if (mvm->ps_disabled != disable_ps) {
mvm               923 drivers/net/wireless/intel/iwlwifi/mvm/power.c 		bool old_ps_disabled = mvm->ps_disabled;
mvm               925 drivers/net/wireless/intel/iwlwifi/mvm/power.c 		mvm->ps_disabled = disable_ps;
mvm               926 drivers/net/wireless/intel/iwlwifi/mvm/power.c 		ret = iwl_mvm_power_update_device(mvm);
mvm               928 drivers/net/wireless/intel/iwlwifi/mvm/power.c 			mvm->ps_disabled = old_ps_disabled;
mvm               936 drivers/net/wireless/intel/iwlwifi/mvm/power.c static int iwl_mvm_power_set_ba(struct iwl_mvm *mvm,
mvm               948 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	if (mvm->fwrt.cur_fw_img == IWL_UCODE_WOWLAN)
mvm               952 drivers/net/wireless/intel/iwlwifi/mvm/power.c 				       mvm->ps_disabled ||
mvm               956 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	return _iwl_mvm_enable_beacon_filter(mvm, vif, &cmd, 0);
mvm               959 drivers/net/wireless/intel/iwlwifi/mvm/power.c int iwl_mvm_power_update_ps(struct iwl_mvm *mvm)
mvm               962 drivers/net/wireless/intel/iwlwifi/mvm/power.c 		.mvm = mvm,
mvm               966 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	lockdep_assert_held(&mvm->mutex);
mvm               969 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	ieee80211_iterate_active_interfaces_atomic(mvm->hw,
mvm               973 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	ret = iwl_mvm_power_set_ps(mvm);
mvm               978 drivers/net/wireless/intel/iwlwifi/mvm/power.c 		return iwl_mvm_power_set_ba(mvm, vifs.bss_vif);
mvm               983 drivers/net/wireless/intel/iwlwifi/mvm/power.c int iwl_mvm_power_update_mac(struct iwl_mvm *mvm)
mvm               986 drivers/net/wireless/intel/iwlwifi/mvm/power.c 		.mvm = mvm,
mvm               990 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	lockdep_assert_held(&mvm->mutex);
mvm               993 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	ieee80211_iterate_active_interfaces_atomic(mvm->hw,
mvm               997 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	iwl_mvm_power_set_pm(mvm, &vifs);
mvm               999 drivers/net/wireless/intel/iwlwifi/mvm/power.c 	ret = iwl_mvm_power_set_ps(mvm);
mvm              1004 drivers/net/wireless/intel/iwlwifi/mvm/power.c 		ret = iwl_mvm_power_send_cmd(mvm, vifs.bss_vif);
mvm              1010 drivers/net/wireless/intel/iwlwifi/mvm/power.c 		ret = iwl_mvm_power_send_cmd(mvm, vifs.p2p_vif);
mvm              1016 drivers/net/wireless/intel/iwlwifi/mvm/power.c 		return iwl_mvm_power_set_ba(mvm, vifs.bss_vif);
mvm               144 drivers/net/wireless/intel/iwlwifi/mvm/quota.c static void iwl_mvm_adjust_quota_for_noa(struct iwl_mvm *mvm,
mvm               151 drivers/net/wireless/intel/iwlwifi/mvm/quota.c 	if (!mvm->noa_duration || !mvm->noa_vif)
mvm               154 drivers/net/wireless/intel/iwlwifi/mvm/quota.c 	mvmvif = iwl_mvm_vif_from_mac80211(mvm->noa_vif);
mvm               159 drivers/net/wireless/intel/iwlwifi/mvm/quota.c 	beacon_int = mvm->noa_vif->bss_conf.beacon_int;
mvm               163 drivers/net/wireless/intel/iwlwifi/mvm/quota.c 					iwl_mvm_quota_cmd_get_quota(mvm, cmd,
mvm               172 drivers/net/wireless/intel/iwlwifi/mvm/quota.c 		quota *= (beacon_int - mvm->noa_duration);
mvm               175 drivers/net/wireless/intel/iwlwifi/mvm/quota.c 		IWL_DEBUG_QUOTA(mvm, "quota: adjust for NoA from %d to %d\n",
mvm               183 drivers/net/wireless/intel/iwlwifi/mvm/quota.c int iwl_mvm_update_quotas(struct iwl_mvm *mvm,
mvm               194 drivers/net/wireless/intel/iwlwifi/mvm/quota.c 	struct iwl_time_quota_cmd *last = &mvm->last_quota_cmd;
mvm               198 drivers/net/wireless/intel/iwlwifi/mvm/quota.c 	lockdep_assert_held(&mvm->mutex);
mvm               200 drivers/net/wireless/intel/iwlwifi/mvm/quota.c 	if (fw_has_capa(&mvm->fw->ucode_capa,
mvm               205 drivers/net/wireless/intel/iwlwifi/mvm/quota.c 	if (test_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status))
mvm               212 drivers/net/wireless/intel/iwlwifi/mvm/quota.c 		mvm->hw, IEEE80211_IFACE_ITER_NORMAL,
mvm               222 drivers/net/wireless/intel/iwlwifi/mvm/quota.c 		qdata = iwl_mvm_quota_cmd_get_quota(mvm, &cmd, i);
mvm               248 drivers/net/wireless/intel/iwlwifi/mvm/quota.c 		IWL_DEBUG_QUOTA(mvm,
mvm               259 drivers/net/wireless/intel/iwlwifi/mvm/quota.c 		IWL_DEBUG_QUOTA(mvm,
mvm               272 drivers/net/wireless/intel/iwlwifi/mvm/quota.c 		qdata = iwl_mvm_quota_cmd_get_quota(mvm, &cmd, idx);
mvm               308 drivers/net/wireless/intel/iwlwifi/mvm/quota.c 		qdata = iwl_mvm_quota_cmd_get_quota(mvm, &cmd, i);
mvm               311 drivers/net/wireless/intel/iwlwifi/mvm/quota.c 			IWL_DEBUG_QUOTA(mvm,
mvm               318 drivers/net/wireless/intel/iwlwifi/mvm/quota.c 	iwl_mvm_adjust_quota_for_noa(mvm, &cmd);
mvm               322 drivers/net/wireless/intel/iwlwifi/mvm/quota.c 		qdata = iwl_mvm_quota_cmd_get_quota(mvm, &cmd, i);
mvm               323 drivers/net/wireless/intel/iwlwifi/mvm/quota.c 		last_data = iwl_mvm_quota_cmd_get_quota(mvm, last, i);
mvm               346 drivers/net/wireless/intel/iwlwifi/mvm/quota.c 	err = iwl_mvm_send_cmd_pdu(mvm, TIME_QUOTA_CMD, 0,
mvm               347 drivers/net/wireless/intel/iwlwifi/mvm/quota.c 				   iwl_mvm_quota_cmd_size(mvm), &cmd);
mvm               350 drivers/net/wireless/intel/iwlwifi/mvm/quota.c 		IWL_ERR(mvm, "Failed to send quota: %d\n", err);
mvm               352 drivers/net/wireless/intel/iwlwifi/mvm/quota.c 		mvm->last_quota_cmd = cmd;
mvm               119 drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c static u16 rs_fw_get_config_flags(struct iwl_mvm *mvm,
mvm               129 drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c 	if (mvm->cfg->ht_params->stbc &&
mvm               130 drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c 	    (num_of_ant(iwl_mvm_get_valid_tx_ant(mvm)) > 1)) {
mvm               145 drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c 	if (mvm->cfg->ht_params->ldpc &&
mvm               328 drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c void iwl_mvm_tlc_update_notif(struct iwl_mvm *mvm,
mvm               341 drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c 	sta = rcu_dereference(mvm->fw_id_to_mac_id[notif->sta_id]);
mvm               343 drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c 		IWL_ERR(mvm, "Invalid sta id (%d) in FW TLC notification\n",
mvm               351 drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c 		IWL_ERR(mvm, "Invalid sta id (%d) in FW TLC notification\n",
mvm               362 drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c 		IWL_DEBUG_RATE(mvm, "new rate_n_flags: 0x%X\n",
mvm               386 drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c 					iwl_mvm_max_amsdu_size(mvm, sta, i);
mvm               395 drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c 		IWL_DEBUG_RATE(mvm,
mvm               435 drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c void rs_fw_rate_init(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
mvm               438 drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c 	struct ieee80211_hw *hw = mvm->hw;
mvm               448 drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c 		.flags = cpu_to_le16(rs_fw_get_config_flags(mvm, sta, sband)),
mvm               449 drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c 		.chains = rs_fw_set_active_chains(iwl_mvm_get_valid_tx_ant(mvm)),
mvm               452 drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c 		.amsdu = iwl_mvm_is_csum_supported(mvm),
mvm               459 drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c 	iwl_mvm_reset_frame_stats(mvm);
mvm               469 drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c 	ret = iwl_mvm_send_cmd_pdu(mvm, cmd_id, CMD_ASYNC, sizeof(cfg_cmd),
mvm               472 drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c 		IWL_ERR(mvm, "Failed to send rate scale config (%d)\n", ret);
mvm               475 drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c int rs_fw_tx_protection(struct iwl_mvm *mvm, struct iwl_mvm_sta *mvmsta,
mvm               479 drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c 	IWL_DEBUG_RATE(mvm, "tx protection - not implemented yet.\n");
mvm               483 drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c void iwl_mvm_rs_add_sta(struct iwl_mvm *mvm, struct iwl_mvm_sta *mvmsta)
mvm               487 drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c 	IWL_DEBUG_RATE(mvm, "create station rate scale window\n");
mvm               489 drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c 	lq_sta->pers.drv = mvm;
mvm               120 drivers/net/wireless/intel/iwlwifi/mvm/rs.c typedef bool (*allow_column_func_t) (struct iwl_mvm *mvm,
mvm               133 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static bool rs_ant_allow(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
mvm               137 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	return iwl_mvm_bt_coex_is_ant_avail(mvm, next_col->ant);
mvm               140 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static bool rs_mimo_allow(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
mvm               150 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	if (num_of_ant(iwl_mvm_get_valid_tx_ant(mvm)) < 2)
mvm               153 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	if (!iwl_mvm_bt_coex_is_mimo_allowed(mvm, sta))
mvm               156 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	if (mvm->nvm_data->sku_cap_mimo_disabled)
mvm               162 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static bool rs_siso_allow(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
mvm               172 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static bool rs_sgi_allow(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
mvm               380 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static void rs_rate_scale_perform(struct iwl_mvm *mvm,
mvm               384 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static void rs_fill_lq_cmd(struct iwl_mvm *mvm,
mvm               567 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static inline void rs_dump_rate(struct iwl_mvm *mvm, const struct rs_rate *rate,
mvm               570 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	IWL_DEBUG_RATE(mvm,
mvm               585 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static void rs_rate_scale_clear_tbl_windows(struct iwl_mvm *mvm,
mvm               590 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	IWL_DEBUG_RATE(mvm, "Clearing up window stats\n");
mvm               603 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static int rs_tl_turn_on_agg_for_tid(struct iwl_mvm *mvm,
mvm               609 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	IWL_DEBUG_HT(mvm, "Starting Tx agg: STA: %pM tid: %d\n",
mvm               620 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		IWL_ERR(mvm, "Fail start Tx agg on tid: %d\n",
mvm               627 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static void rs_tl_turn_on_agg(struct iwl_mvm *mvm, struct iwl_mvm_sta *mvmsta,
mvm               638 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		IWL_ERR(mvm, "tid exceeds max TID count: %d/%d\n",
mvm               650 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		IWL_DEBUG_RATE(mvm, "try to aggregate tid %d\n", tid);
mvm               651 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		if (rs_tl_turn_on_agg_for_tid(mvm, lq_sta, tid, sta) == 0)
mvm               681 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static int _rs_collect_tx_data(struct iwl_mvm *mvm,
mvm               746 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static int rs_collect_tpc_data(struct iwl_mvm *mvm,
mvm               758 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	return  _rs_collect_tx_data(mvm, tbl, scale_index, attempts, successes,
mvm               762 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static void rs_update_tid_tpt_stats(struct iwl_mvm *mvm,
mvm               792 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static int rs_collect_tlc_data(struct iwl_mvm *mvm,
mvm               809 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	rs_update_tid_tpt_stats(mvm, mvmsta, tid, successes);
mvm               813 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	return _rs_collect_tx_data(mvm, tbl, scale_index, attempts, successes,
mvm               818 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static u32 ucode_rate_from_rs_rate(struct iwl_mvm *mvm,
mvm               836 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			IWL_ERR(mvm, "Invalid HT rate index %d\n", index);
mvm               849 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			IWL_ERR(mvm, "Invalid VHT rate index %d\n", index);
mvm               861 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		IWL_ERR(mvm, "Invalid rate->type %d\n", rate->type);
mvm              1014 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static u16 rs_get_adjacent_rate(struct iwl_mvm *mvm, u8 index, u16 rate_mask,
mvm              1085 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	struct iwl_mvm *mvm = lq_sta->pers.drv;
mvm              1088 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	high_low = rs_get_adjacent_rate(mvm, rate->index, rate_mask,
mvm              1104 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	struct iwl_mvm *mvm = lq_sta->pers.drv;
mvm              1130 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		rate->ant = first_antenna(iwl_mvm_get_valid_tx_ant(mvm));
mvm              1210 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	struct iwl_mvm *mvm = IWL_OP_MODE_GET_MVM(op_mode);
mvm              1221 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	iwl_mvm_rs_tx_status(mvm, sta, rs_get_tid(hdr), info,
mvm              1233 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static void rs_set_stay_in_table(struct iwl_mvm *mvm, u8 is_legacy,
mvm              1236 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	IWL_DEBUG_RATE(mvm, "Moving to RS_STATE_STAY_IN_COLUMN\n");
mvm              1367 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static s32 rs_get_best_rate(struct iwl_mvm *mvm,
mvm              1383 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		IWL_DEBUG_RATE(mvm,
mvm              1388 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		IWL_DEBUG_RATE(mvm,
mvm              1399 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		high_low = rs_get_adjacent_rate(mvm, rate_idx, rate_mask,
mvm              1405 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	IWL_DEBUG_RATE(mvm, "Best rate found %d target_tp %d expected_new %d\n",
mvm              1458 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	struct iwl_mvm *mvm;
mvm              1460 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	mvm = lq_sta->pers.drv;
mvm              1487 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			IWL_DEBUG_RATE(mvm,
mvm              1495 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			IWL_DEBUG_RATE(mvm,
mvm              1514 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 				IWL_DEBUG_RATE(mvm,
mvm              1516 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 				rs_rate_scale_clear_tbl_windows(mvm, tbl);
mvm              1524 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			rs_rate_scale_clear_tbl_windows(mvm, tbl);
mvm              1529 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static void rs_set_amsdu_len(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
mvm              1558 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 				iwl_mvm_max_amsdu_size(mvm, sta, i);
mvm              1571 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static void rs_update_rate_tbl(struct iwl_mvm *mvm,
mvm              1576 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	rs_fill_lq_cmd(mvm, sta, lq_sta, &tbl->rate);
mvm              1577 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	iwl_mvm_send_lq_cmd(mvm, &lq_sta->lq);
mvm              1580 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static bool rs_tweak_rate_tbl(struct iwl_mvm *mvm,
mvm              1597 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		IWL_DEBUG_RATE(mvm, "Switch 80Mhz SISO MCS0 -> 20Mhz MCS4\n");
mvm              1613 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		IWL_DEBUG_RATE(mvm, "Switch 20Mhz SISO MCS5 -> 80Mhz MCS1\n");
mvm              1621 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	rs_rate_scale_clear_tbl_windows(mvm, tbl);
mvm              1625 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static enum rs_column rs_get_next_column(struct iwl_mvm *mvm,
mvm              1635 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	u8 valid_ants = iwl_mvm_get_valid_tx_ant(mvm);
mvm              1646 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			IWL_DEBUG_RATE(mvm, "Skip already visited column %d\n",
mvm              1654 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			IWL_DEBUG_RATE(mvm,
mvm              1662 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			if (allow_func && !allow_func(mvm, sta, &tbl->rate,
mvm              1668 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			IWL_DEBUG_RATE(mvm,
mvm              1683 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			IWL_DEBUG_RATE(mvm,
mvm              1691 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			IWL_DEBUG_RATE(mvm,
mvm              1697 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		IWL_DEBUG_RATE(mvm,
mvm              1709 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static int rs_switch_to_column(struct iwl_mvm *mvm,
mvm              1761 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		rate_idx = rs_get_best_rate(mvm, lq_sta, search_tbl,
mvm              1766 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			IWL_DEBUG_RATE(mvm,
mvm              1777 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	IWL_DEBUG_RATE(mvm, "Switched to column %d: Index %d\n",
mvm              1787 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static enum rs_action rs_get_rate_action(struct iwl_mvm *mvm,
mvm              1797 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		IWL_DEBUG_RATE(mvm,
mvm              1805 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		IWL_DEBUG_RATE(mvm,
mvm              1814 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		IWL_DEBUG_RATE(mvm,
mvm              1821 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		IWL_DEBUG_RATE(mvm,
mvm              1830 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		IWL_DEBUG_RATE(mvm,
mvm              1837 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		IWL_DEBUG_RATE(mvm,
mvm              1845 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		IWL_DEBUG_RATE(mvm,
mvm              1851 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	IWL_DEBUG_RATE(mvm, "Maintain rate\n");
mvm              1856 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			IWL_DEBUG_RATE(mvm,
mvm              1860 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			IWL_DEBUG_RATE(mvm,
mvm              1864 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			IWL_DEBUG_RATE(mvm, "Decrease rate\n");
mvm              1871 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static bool rs_stbc_allow(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
mvm              1880 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	if (!iwl_mvm_bt_coex_is_mimo_allowed(mvm, sta))
mvm              1886 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static void rs_get_adjacent_txp(struct iwl_mvm *mvm, int index,
mvm              1898 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static bool rs_tpc_allowed(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm              1906 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	IWL_DEBUG_RATE(mvm, "cam: %d sta_ps_disabled %d\n",
mvm              1913 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	    !iwl_mvm_bt_coex_is_tpc_allowed(mvm, band))
mvm              1916 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	IWL_DEBUG_RATE(mvm, "check rate, table type: %d\n", rate->type);
mvm              1937 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static enum tpc_action rs_get_tpc_action(struct iwl_mvm *mvm,
mvm              1944 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		IWL_DEBUG_RATE(mvm, "no current tpt. stay.\n");
mvm              1951 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		IWL_DEBUG_RATE(mvm, "increase txp because of weak SR\n");
mvm              1961 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			IWL_DEBUG_RATE(mvm,
mvm              1967 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			IWL_DEBUG_RATE(mvm,
mvm              1979 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			IWL_DEBUG_RATE(mvm,
mvm              1987 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			IWL_DEBUG_RATE(mvm,
mvm              1993 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	IWL_DEBUG_RATE(mvm, "no need to increase or decrease txp - stay\n");
mvm              1997 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static bool rs_tpc_perform(struct iwl_mvm *mvm,
mvm              2017 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		IWL_DEBUG_RATE(mvm, "fixed tpc: %d\n",
mvm              2032 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	if (!rs_tpc_allowed(mvm, vif, rate, band)) {
mvm              2033 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		IWL_DEBUG_RATE(mvm,
mvm              2039 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	rs_get_adjacent_txp(mvm, cur, &weak, &strong);
mvm              2050 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	IWL_DEBUG_RATE(mvm,
mvm              2055 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	action = rs_get_tpc_action(mvm, sr, weak, strong,
mvm              2060 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		IWL_DEBUG_RATE(mvm, "already in lowest txp, stay\n");
mvm              2065 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		IWL_DEBUG_RATE(mvm, "already in highest txp, stay\n");
mvm              2089 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static void rs_rate_scale_perform(struct iwl_mvm *mvm,
mvm              2130 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		IWL_DEBUG_RATE(mvm,
mvm              2134 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		rs_rate_scale_clear_tbl_windows(mvm, tbl);
mvm              2144 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		IWL_ERR(mvm, "Current Rate is not valid\n");
mvm              2150 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			rs_update_rate_tbl(mvm, sta, lq_sta, tbl);
mvm              2157 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		IWL_ERR(mvm, "tbl->expected_tpt is NULL\n");
mvm              2174 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		IWL_DEBUG_RATE(mvm,
mvm              2195 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			IWL_DEBUG_RATE(mvm,
mvm              2207 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			IWL_DEBUG_RATE(mvm,
mvm              2238 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	high_low = rs_get_adjacent_rate(mvm, index, rate_mask, rate->type);
mvm              2253 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	IWL_DEBUG_RATE(mvm,
mvm              2258 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	scale_action = rs_get_rate_action(mvm, tbl, sr, low, high,
mvm              2263 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	    !iwl_mvm_bt_coex_is_mimo_allowed(mvm, sta)) {
mvm              2264 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		IWL_DEBUG_RATE(mvm,
mvm              2277 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			IWL_DEBUG_RATE(mvm,
mvm              2288 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			IWL_DEBUG_RATE(mvm,
mvm              2296 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			update_lq = rs_tpc_perform(mvm, sta, lq_sta, tbl);
mvm              2307 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			rs_tweak_rate_tbl(mvm, sta, lq_sta, tbl, scale_action);
mvm              2308 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		rs_set_amsdu_len(mvm, sta, tbl, scale_action);
mvm              2309 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		rs_update_rate_tbl(mvm, sta, lq_sta, tbl);
mvm              2328 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		IWL_DEBUG_RATE(mvm,
mvm              2333 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		next_column = rs_get_next_column(mvm, lq_sta, sta, tbl);
mvm              2335 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			int ret = rs_switch_to_column(mvm, lq_sta, sta,
mvm              2340 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			IWL_DEBUG_RATE(mvm,
mvm              2349 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			rs_rate_scale_clear_tbl_windows(mvm, tbl);
mvm              2354 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			rs_dump_rate(mvm, &tbl->rate,
mvm              2356 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			rs_update_rate_tbl(mvm, sta, lq_sta, tbl);
mvm              2363 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		rs_tl_turn_on_agg(mvm, mvmsta, tid, lq_sta, sta);
mvm              2367 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		rs_set_stay_in_table(mvm, is_legacy(&tbl1->rate), lq_sta);
mvm              2445 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static void rs_init_optimal_rate(struct iwl_mvm *mvm,
mvm              2461 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	rate->sgi = rs_sgi_allow(mvm, sta, rate, NULL);
mvm              2500 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static struct rs_rate *rs_get_optimal_rate(struct iwl_mvm *mvm,
mvm              2525 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static void rs_get_initial_rate(struct iwl_mvm *mvm,
mvm              2536 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	u8 valid_tx_ant = iwl_mvm_get_valid_tx_ant(mvm);
mvm              2549 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	IWL_DEBUG_RATE(mvm, "Best ANT: %s Best RSSI: %d\n",
mvm              2608 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			IWL_ERR(mvm, "Invalid BW %d\n", sta->bandwidth);
mvm              2636 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	rs_dump_rate(mvm, rate, "INITIAL");
mvm              2640 drivers/net/wireless/intel/iwlwifi/mvm/rs.c void rs_update_last_rssi(struct iwl_mvm *mvm,
mvm              2676 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static void rs_initialize_lq(struct iwl_mvm *mvm,
mvm              2696 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	rs_get_initial_rate(mvm, sta, lq_sta, band, rate);
mvm              2697 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	rs_init_optimal_rate(mvm, sta, lq_sta);
mvm              2701 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		  rate->ant, lq_sta->pers.chains, mvm->fw->valid_tx_ant,
mvm              2702 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		  mvm->nvm_data ? mvm->nvm_data->valid_tx_ant : ANT_INVALID);
mvm              2707 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	rs_fill_lq_cmd(mvm, sta, lq_sta, rate);
mvm              2709 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	iwl_mvm_send_lq_cmd(mvm, &lq_sta->lq);
mvm              2717 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	struct iwl_mvm *mvm __maybe_unused = IWL_OP_MODE_GET_MVM(op_mode);
mvm              2744 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		optimal_rate = rs_get_optimal_rate(mvm, lq_sta);
mvm              2745 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		last_ucode_rate = ucode_rate_from_rs_rate(mvm,
mvm              2757 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	struct iwl_mvm *mvm  = IWL_OP_MODE_GET_MVM(op_mode);
mvm              2760 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	IWL_DEBUG_RATE(mvm, "create station rate scale window\n");
mvm              2762 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	lq_sta->pers.drv = mvm;
mvm              2833 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static void rs_ht_init(struct iwl_mvm *mvm,
mvm              2852 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	if (mvm->cfg->ht_params->ldpc &&
mvm              2856 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	if (mvm->cfg->ht_params->stbc &&
mvm              2857 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	    (num_of_ant(iwl_mvm_get_valid_tx_ant(mvm)) > 1) &&
mvm              2864 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static void rs_vht_init(struct iwl_mvm *mvm,
mvm              2871 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	if (mvm->cfg->ht_params->ldpc &&
mvm              2875 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	if (mvm->cfg->ht_params->stbc &&
mvm              2876 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	    (num_of_ant(iwl_mvm_get_valid_tx_ant(mvm)) > 1) &&
mvm              2880 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	if (fw_has_capa(&mvm->fw->ucode_capa, IWL_UCODE_TLV_CAPA_BEAMFORMER) &&
mvm              2881 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	    (num_of_ant(iwl_mvm_get_valid_tx_ant(mvm)) > 1) &&
mvm              2889 drivers/net/wireless/intel/iwlwifi/mvm/rs.c void iwl_mvm_reset_frame_stats(struct iwl_mvm *mvm)
mvm              2891 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	spin_lock_bh(&mvm->drv_stats_lock);
mvm              2892 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	memset(&mvm->drv_rx_stats, 0, sizeof(mvm->drv_rx_stats));
mvm              2893 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	spin_unlock_bh(&mvm->drv_stats_lock);
mvm              2896 drivers/net/wireless/intel/iwlwifi/mvm/rs.c void iwl_mvm_update_frame_stats(struct iwl_mvm *mvm, u32 rate, bool agg)
mvm              2900 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	spin_lock(&mvm->drv_stats_lock);
mvm              2903 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		mvm->drv_rx_stats.agg_frames++;
mvm              2905 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	mvm->drv_rx_stats.success_frames++;
mvm              2909 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		mvm->drv_rx_stats.bw_20_frames++;
mvm              2912 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		mvm->drv_rx_stats.bw_40_frames++;
mvm              2915 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		mvm->drv_rx_stats.bw_80_frames++;
mvm              2918 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		mvm->drv_rx_stats.bw_160_frames++;
mvm              2925 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		mvm->drv_rx_stats.ht_frames++;
mvm              2928 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		mvm->drv_rx_stats.vht_frames++;
mvm              2932 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		mvm->drv_rx_stats.legacy_frames++;
mvm              2936 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		mvm->drv_rx_stats.siso_frames++;
mvm              2938 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		mvm->drv_rx_stats.mimo2_frames++;
mvm              2941 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		mvm->drv_rx_stats.sgi_frames++;
mvm              2943 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		mvm->drv_rx_stats.ngi_frames++;
mvm              2945 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	mvm->drv_rx_stats.last_rates[mvm->drv_rx_stats.last_frame_idx] = rate;
mvm              2946 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	mvm->drv_rx_stats.last_frame_idx =
mvm              2947 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		(mvm->drv_rx_stats.last_frame_idx + 1) %
mvm              2948 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			ARRAY_SIZE(mvm->drv_rx_stats.last_rates);
mvm              2950 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	spin_unlock(&mvm->drv_stats_lock);
mvm              2957 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static void rs_drv_rate_init(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
mvm              2961 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	struct ieee80211_hw *hw = mvm->hw;
mvm              2981 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		rs_rate_scale_clear_tbl_windows(mvm, &lq_sta->lq_info[j]);
mvm              2986 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	IWL_DEBUG_RATE(mvm,
mvm              3006 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		rs_ht_init(mvm, sta, lq_sta, ht_cap);
mvm              3008 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		rs_vht_init(mvm, sta, lq_sta, vht_cap);
mvm              3017 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	IWL_DEBUG_RATE(mvm,
mvm              3024 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	IWL_DEBUG_RATE(mvm, "MAX RATE: LEGACY=%d SISO=%d MIMO2=%d\n",
mvm              3031 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		iwl_mvm_bt_coex_get_single_ant_msk(mvm, iwl_mvm_get_valid_tx_ant(mvm));
mvm              3038 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	iwl_mvm_reset_frame_stats(mvm);
mvm              3040 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	rs_initialize_lq(mvm, sta, lq_sta, band);
mvm              3050 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	struct iwl_mvm *mvm __maybe_unused = IWL_OP_MODE_GET_MVM(op_mode);
mvm              3060 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	iwl_mvm_rs_rate_init(mvm, sta, sband->band, true);
mvm              3063 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static void __iwl_mvm_rs_tx_status(struct iwl_mvm *mvm,
mvm              3083 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		IWL_DEBUG_RATE(mvm, "Rate scaling not initialized yet.\n");
mvm              3124 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		IWL_DEBUG_RATE(mvm, "Fixed rate 0x%x success %d attempts %d\n",
mvm              3133 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		IWL_DEBUG_RATE(mvm, "Tx idle for too long. reinit rs\n");
mvm              3137 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		rs_drv_rate_init(mvm, sta, info->band);
mvm              3158 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		IWL_DEBUG_RATE(mvm,
mvm              3169 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			IWL_DEBUG_RATE(mvm,
mvm              3172 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			iwl_mvm_send_lq_cmd(mvm, &lq_sta->lq);
mvm              3190 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		IWL_DEBUG_RATE(mvm,
mvm              3193 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		rs_dump_rate(mvm, &tmp_tbl->rate, "ACTIVE");
mvm              3195 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		rs_dump_rate(mvm, &tmp_tbl->rate, "SEARCH");
mvm              3196 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		rs_dump_rate(mvm, &lq_rate, "ACTUAL");
mvm              3212 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		rs_collect_tpc_data(mvm, lq_sta, curr_tbl, tx_resp_rate.index,
mvm              3233 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		rs_collect_tlc_data(mvm, mvmsta, tid, curr_tbl,
mvm              3272 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			rs_collect_tpc_data(mvm, lq_sta, tmp_tbl,
mvm              3276 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			rs_collect_tlc_data(mvm, mvmsta, tid, tmp_tbl,
mvm              3289 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	IWL_DEBUG_RATE(mvm, "reduced txpower: %d\n", reduced_txp);
mvm              3293 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		rs_rate_scale_perform(mvm, sta, lq_sta, tid, ndp);
mvm              3296 drivers/net/wireless/intel/iwlwifi/mvm/rs.c void iwl_mvm_rs_tx_status(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
mvm              3307 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	__iwl_mvm_rs_tx_status(mvm, sta, tid, info, ndp);
mvm              3312 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static void rs_build_rates_table_from_fixed(struct iwl_mvm *mvm,
mvm              3341 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	if (!mvm->trans->trans_cfg->gen2)
mvm              3349 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static void rs_fill_rates_for_column(struct iwl_mvm *mvm,
mvm              3365 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			ucode_rate = cpu_to_le32(ucode_rate_from_rs_rate(mvm,
mvm              3404 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static void rs_build_rates_table(struct iwl_mvm *mvm,
mvm              3418 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	valid_tx_ant = iwl_mvm_get_valid_tx_ant(mvm);
mvm              3421 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	if (!fw_has_api(&mvm->fw->ucode_capa, IWL_UCODE_TLV_API_LQ_SS_PARAMS) &&
mvm              3422 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	    rs_stbc_allow(mvm, sta, lq_sta))
mvm              3437 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	rs_fill_rates_for_column(mvm, lq_sta, &rate, lq_cmd->rs_table, &index,
mvm              3456 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	rs_fill_rates_for_column(mvm, lq_sta, &rate, lq_cmd->rs_table, &index,
mvm              3465 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	rs_fill_rates_for_column(mvm, lq_sta, &rate, lq_cmd->rs_table, &index,
mvm              3536 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static void rs_set_lq_ss_params(struct iwl_mvm *mvm,
mvm              3550 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	if (!iwl_mvm_bt_coex_is_mimo_allowed(mvm, sta))
mvm              3563 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		IWL_DEBUG_RATE(mvm, "Forcing single stream Tx decision %d\n",
mvm              3575 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	ieee80211_iterate_stations_atomic(mvm->hw,
mvm              3585 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		IWL_DEBUG_RATE(mvm, "No sta with BFER allowed found. Allow\n");
mvm              3591 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	IWL_DEBUG_RATE(mvm, "Found existing sta %d with BFER activated\n",
mvm              3602 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		iwl_mvm_send_lq_cmd(mvm, bfersta_lq_cmd);
mvm              3605 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		IWL_DEBUG_RATE(mvm,
mvm              3613 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static void rs_fill_lq_cmd(struct iwl_mvm *mvm,
mvm              3628 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		rs_build_rates_table_from_fixed(mvm, lq_cmd,
mvm              3637 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	rs_build_rates_table(mvm, sta, lq_sta, initial_rate);
mvm              3639 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	if (fw_has_api(&mvm->fw->ucode_capa, IWL_UCODE_TLV_API_LQ_SS_PARAMS))
mvm              3640 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		rs_set_lq_ss_params(mvm, sta, lq_sta, initial_rate);
mvm              3645 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	if (!fw_has_capa(&mvm->fw->ucode_capa, IWL_UCODE_TLV_CAPA_COEX_SCHEMA_2) &&
mvm              3663 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			cpu_to_le16(iwl_mvm_coex_agg_time_limit(mvm, sta));
mvm              3680 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	struct iwl_mvm *mvm __maybe_unused = IWL_OP_MODE_GET_MVM(op_mode);
mvm              3682 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	IWL_DEBUG_RATE(mvm, "enter\n");
mvm              3683 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	IWL_DEBUG_RATE(mvm, "leave\n");
mvm              3756 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static void rs_program_fix_rate(struct iwl_mvm *mvm,
mvm              3763 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	IWL_DEBUG_RATE(mvm, "sta_id %d rate 0x%X\n",
mvm              3767 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		rs_fill_lq_cmd(mvm, NULL, lq_sta, NULL);
mvm              3776 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	struct iwl_mvm *mvm;
mvm              3781 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	mvm = lq_sta->pers.drv;
mvm              3792 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	rs_program_fix_rate(mvm, lq_sta);
mvm              3809 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	struct iwl_mvm *mvm;
mvm              3814 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	mvm = lq_sta->pers.drv;
mvm              3828 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	    (iwl_mvm_get_valid_tx_ant(mvm) & ANT_A) ? "ANT_A," : "",
mvm              3829 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	    (iwl_mvm_get_valid_tx_ant(mvm) & ANT_B) ? "ANT_B," : "",
mvm              3830 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	    (iwl_mvm_get_valid_tx_ant(mvm) & ANT_C) ? "ANT_C" : "");
mvm              4063 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	struct iwl_mvm *mvm = lq_sta->pers.drv;
mvm              4074 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			IWL_ERR(mvm,
mvm              4082 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 			IWL_ERR(mvm,
mvm              4087 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		IWL_ERR(mvm, "valid values none|siso|stbc|bfer\n");
mvm              4102 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static void rs_drv_add_sta_debugfs(void *mvm, void *priv_sta,
mvm              4157 drivers/net/wireless/intel/iwlwifi/mvm/rs.c void iwl_mvm_rs_rate_init(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
mvm              4160 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	if (iwl_mvm_has_tlc_offload(mvm)) {
mvm              4161 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		rs_fw_rate_init(mvm, sta, band, update);
mvm              4166 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		rs_drv_rate_init(mvm, sta, band);
mvm              4181 drivers/net/wireless/intel/iwlwifi/mvm/rs.c static int rs_drv_tx_protection(struct iwl_mvm *mvm, struct iwl_mvm_sta *mvmsta,
mvm              4186 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	lockdep_assert_held(&mvm->mutex);
mvm              4198 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	return iwl_mvm_send_lq_cmd(mvm, lq);
mvm              4206 drivers/net/wireless/intel/iwlwifi/mvm/rs.c int iwl_mvm_tx_protection(struct iwl_mvm *mvm, struct iwl_mvm_sta *mvmsta,
mvm              4209 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 	if (iwl_mvm_has_tlc_offload(mvm))
mvm              4210 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		return rs_fw_tx_protection(mvm, mvmsta, enable);
mvm              4212 drivers/net/wireless/intel/iwlwifi/mvm/rs.c 		return rs_drv_tx_protection(mvm, mvmsta, enable);
mvm               412 drivers/net/wireless/intel/iwlwifi/mvm/rs.h void iwl_mvm_rs_rate_init(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
mvm               416 drivers/net/wireless/intel/iwlwifi/mvm/rs.h void iwl_mvm_rs_tx_status(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
mvm               441 drivers/net/wireless/intel/iwlwifi/mvm/rs.h int iwl_mvm_tx_protection(struct iwl_mvm *mvm, struct iwl_mvm_sta *mvmsta,
mvm               445 drivers/net/wireless/intel/iwlwifi/mvm/rs.h void iwl_mvm_reset_frame_stats(struct iwl_mvm *mvm);
mvm               449 drivers/net/wireless/intel/iwlwifi/mvm/rs.h void rs_remove_sta_debugfs(void *mvm, void *mvm_sta);
mvm               452 drivers/net/wireless/intel/iwlwifi/mvm/rs.h void iwl_mvm_rs_add_sta(struct iwl_mvm *mvm, struct iwl_mvm_sta *mvmsta);
mvm               453 drivers/net/wireless/intel/iwlwifi/mvm/rs.h void rs_fw_rate_init(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
mvm               455 drivers/net/wireless/intel/iwlwifi/mvm/rs.h int rs_fw_tx_protection(struct iwl_mvm *mvm, struct iwl_mvm_sta *mvmsta,
mvm               457 drivers/net/wireless/intel/iwlwifi/mvm/rs.h void iwl_mvm_tlc_update_notif(struct iwl_mvm *mvm,
mvm                76 drivers/net/wireless/intel/iwlwifi/mvm/rx.c void iwl_mvm_rx_rx_phy_cmd(struct iwl_mvm *mvm, struct iwl_rx_cmd_buffer *rxb)
mvm                80 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 	memcpy(&mvm->last_phy_info, pkt->data, sizeof(mvm->last_phy_info));
mvm                81 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 	mvm->ampdu_ref++;
mvm                84 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 	if (mvm->last_phy_info.phy_flags & cpu_to_le16(RX_RES_PHY_FLAGS_AGG)) {
mvm                85 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 		spin_lock(&mvm->drv_stats_lock);
mvm                86 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 		mvm->drv_rx_stats.ampdu_count++;
mvm                87 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 		spin_unlock(&mvm->drv_stats_lock);
mvm                97 drivers/net/wireless/intel/iwlwifi/mvm/rx.c static void iwl_mvm_pass_packet_to_mac80211(struct iwl_mvm *mvm,
mvm               145 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 	ieee80211_rx_napi(mvm->hw, sta, skb, napi);
mvm               154 drivers/net/wireless/intel/iwlwifi/mvm/rx.c static void iwl_mvm_get_signal_strength(struct iwl_mvm *mvm,
mvm               175 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 	IWL_DEBUG_STATS(mvm, "energy In A %d B %d C %d , and max %d\n",
mvm               196 drivers/net/wireless/intel/iwlwifi/mvm/rx.c static u32 iwl_mvm_set_mac80211_rx_flag(struct iwl_mvm *mvm,
mvm               224 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 		if (!fw_has_api(&mvm->fw->ucode_capa,
mvm               249 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 		if (!mvm->monitor_on)
mvm               250 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 			IWL_ERR(mvm, "Unhandled alg: 0x%x\n", rx_pkt_status);
mvm               256 drivers/net/wireless/intel/iwlwifi/mvm/rx.c static void iwl_mvm_rx_handle_tcm(struct iwl_mvm *mvm,
mvm               279 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 	if (time_after(jiffies, mvm->tcm.ts + MVM_TCM_PERIOD))
mvm               280 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 		schedule_delayed_work(&mvm->tcm.work, 0);
mvm               281 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 	mdata = &mvm->tcm.data[mac];
mvm               285 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 	if (mdata->rx.last_ampdu_ref != mvm->ampdu_ref) {
mvm               286 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 		mdata->rx.last_ampdu_ref = mvm->ampdu_ref;
mvm               342 drivers/net/wireless/intel/iwlwifi/mvm/rx.c void iwl_mvm_rx_rx_mpdu(struct iwl_mvm *mvm, struct napi_struct *napi,
mvm               357 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 	phy_info = &mvm->last_phy_info;
mvm               369 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 		IWL_ERR(mvm, "alloc_skb failed\n");
mvm               378 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 	if (iwl_mvm_set_mac80211_rx_flag(mvm, hdr, rx_status, rx_pkt_status,
mvm               380 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 		IWL_DEBUG_DROP(mvm, "Bad decryption results 0x%08x\n",
mvm               392 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 		IWL_DEBUG_RX(mvm, "Bad CRC or FIFO: 0x%08X.\n", rx_pkt_status);
mvm               412 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 	iwl_mvm_get_signal_strength(mvm, phy_info, rx_status);
mvm               414 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 	IWL_DEBUG_STATS_LIMIT(mvm, "Rssi %d, TSF %llu\n", rx_status->signal,
mvm               423 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 		if (!WARN_ON_ONCE(id >= ARRAY_SIZE(mvm->fw_id_to_mac_id))) {
mvm               424 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 			sta = rcu_dereference(mvm->fw_id_to_mac_id[id]);
mvm               432 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 		sta = ieee80211_find_sta_by_ifaddr(mvm->hw, hdr->addr2, NULL);
mvm               438 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 			rcu_dereference(mvm->csa_tx_blocked_vif);
mvm               451 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 				iwl_mvm_sta_modify_disable_tx_ap(mvm, sta,
mvm               455 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 		rs_update_last_rssi(mvm, mvmsta, rx_status);
mvm               457 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 		trig = iwl_fw_dbg_trigger_on(&mvm->fwrt,
mvm               469 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 				iwl_fw_dbg_collect_trig(&mvm->fwrt, trig,
mvm               473 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 		if (!mvm->tcm.paused && len >= sizeof(*hdr) &&
mvm               476 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 			iwl_mvm_rx_handle_tcm(mvm, sta, hdr, len, phy_info,
mvm               495 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 		rx_status->ampdu_reference = mvm->ampdu_ref;
mvm               550 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 	iwl_mvm_update_frame_stats(mvm, rate_n_flags,
mvm               556 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 		     mvm->sched_scan_pass_all == SCHED_SCAN_PASS_ALL_ENABLED))
mvm               557 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 		mvm->sched_scan_pass_all = SCHED_SCAN_PASS_ALL_FOUND;
mvm               563 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 	iwl_mvm_pass_packet_to_mac80211(mvm, sta, napi, skb, hdr, len,
mvm               568 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 	struct iwl_mvm *mvm;
mvm               579 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 	struct iwl_mvm *mvm = data->mvm;
mvm               592 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 	if (iwl_mvm_has_new_rx_stats_api(mvm)) {
mvm               624 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 		IWL_DEBUG_RX(mvm, "RSSI is 0 - skip signal based decision\n");
mvm               638 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 			IWL_DEBUG_RX(mvm, "cqm_iterator bt coex high %d\n",
mvm               640 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 			iwl_mvm_bt_rssi_event(mvm, vif, RSSI_EVENT_HIGH);
mvm               645 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 			IWL_DEBUG_RX(mvm, "cqm_iterator bt coex low %d\n",
mvm               647 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 			iwl_mvm_bt_rssi_event(mvm, vif, RSSI_EVENT_LOW);
mvm               659 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 		IWL_DEBUG_RX(mvm, "cqm_iterator cqm low %d\n",
mvm               669 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 		IWL_DEBUG_RX(mvm, "cqm_iterator cqm high %d\n",
mvm               680 drivers/net/wireless/intel/iwlwifi/mvm/rx.c iwl_mvm_rx_stats_check_trigger(struct iwl_mvm *mvm, struct iwl_rx_packet *pkt)
mvm               686 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 	trig = iwl_fw_dbg_trigger_on(&mvm->fwrt, NULL, FW_DBG_TRIGGER_STATS);
mvm               701 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 	iwl_fw_dbg_collect_trig(&mvm->fwrt, trig, NULL);
mvm               704 drivers/net/wireless/intel/iwlwifi/mvm/rx.c void iwl_mvm_handle_rx_statistics(struct iwl_mvm *mvm,
mvm               708 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 		.mvm = mvm,
mvm               717 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 	if (!iwl_mvm_has_new_rx_stats_api(mvm)) {
mvm               718 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 		if (iwl_mvm_has_new_rx_api(mvm))
mvm               731 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 	if (!iwl_mvm_has_new_rx_stats_api(mvm)) {
mvm               738 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 		mvm->rx_stats_v3 = stats->rx;
mvm               740 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 		mvm->radio_stats.rx_time =
mvm               742 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 		mvm->radio_stats.tx_time =
mvm               744 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 		mvm->radio_stats.on_time_rf =
mvm               746 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 		mvm->radio_stats.on_time_scan =
mvm               759 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 		mvm->rx_stats = stats->rx;
mvm               761 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 		mvm->radio_stats.rx_time =
mvm               763 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 		mvm->radio_stats.tx_time =
mvm               765 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 		mvm->radio_stats.on_time_rf =
mvm               767 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 		mvm->radio_stats.on_time_scan =
mvm               776 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 	iwl_mvm_rx_stats_check_trigger(mvm, pkt);
mvm               778 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 	ieee80211_iterate_active_interfaces(mvm->hw,
mvm               783 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 	if (!iwl_mvm_has_new_rx_api(mvm))
mvm               786 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 	if (!iwl_mvm_has_new_rx_stats_api(mvm)) {
mvm               801 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 	for (i = 0; i < ARRAY_SIZE(mvm->fw_id_to_mac_id); i++) {
mvm               807 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 		sta = iwl_mvm_sta_from_staid_rcu(mvm, i);
mvm               822 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 	spin_lock(&mvm->tcm.lock);
mvm               824 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 		struct iwl_mvm_tcm_mac *mdata = &mvm->tcm.data[i];
mvm               838 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 	spin_unlock(&mvm->tcm.lock);
mvm               841 drivers/net/wireless/intel/iwlwifi/mvm/rx.c void iwl_mvm_rx_statistics(struct iwl_mvm *mvm, struct iwl_rx_cmd_buffer *rxb)
mvm               843 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 	iwl_mvm_handle_rx_statistics(mvm, rxb_addr(rxb));
mvm               846 drivers/net/wireless/intel/iwlwifi/mvm/rx.c void iwl_mvm_window_status_notif(struct iwl_mvm *mvm,
mvm               881 drivers/net/wireless/intel/iwlwifi/mvm/rx.c 		sta = rcu_dereference(mvm->fw_id_to_mac_id[sta_id]);
mvm                95 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c static inline int iwl_mvm_check_pn(struct iwl_mvm *mvm, struct sk_buff *skb,
mvm               128 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		IWL_ERR(mvm,
mvm               172 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c static int iwl_mvm_create_skb(struct iwl_mvm *mvm, struct sk_buff *skb,
mvm               215 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		IWL_DEBUG_RX(mvm,
mvm               237 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c static void iwl_mvm_add_rtap_sniffer_config(struct iwl_mvm *mvm,
mvm               244 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 	if (!mvm->cur_aid)
mvm               263 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 	memcpy(radiotap->data, &mvm->cur_aid, sizeof(mvm->cur_aid));
mvm               271 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c static void iwl_mvm_pass_packet_to_mac80211(struct iwl_mvm *mvm,
mvm               277 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 	if (iwl_mvm_check_pn(mvm, skb, queue, sta))
mvm               280 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		ieee80211_rx_napi(mvm->hw, sta, skb, napi);
mvm               283 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c static void iwl_mvm_get_signal_strength(struct iwl_mvm *mvm,
mvm               295 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 	IWL_DEBUG_STATS(mvm, "energy In A %d B %d, and max %d\n",
mvm               306 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c static int iwl_mvm_rx_crypto(struct iwl_mvm *mvm, struct ieee80211_hdr *hdr,
mvm               322 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 	    IWL_RX_MPDU_STATUS_SEC_UNKNOWN && !mvm->monitor_on)
mvm               347 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		if (!fw_has_api(&mvm->fw->ucode_capa,
mvm               352 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		if (mvm->trans->trans_cfg->gen2 &&
mvm               369 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 			if (mvm->trans->trans_cfg->gen2)
mvm               389 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		    !mvm->monitor_on && net_ratelimit())
mvm               390 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 			IWL_ERR(mvm, "Unhandled alg: 0x%x\n", status);
mvm               473 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c int iwl_mvm_notify_rx_queue(struct iwl_mvm *mvm, u32 rxq_mask,
mvm               495 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 	ret = iwl_mvm_send_cmd_pdu(mvm,
mvm               515 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c static void iwl_mvm_sync_nssn(struct iwl_mvm *mvm, u8 baid, u16 nssn)
mvm               525 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		iwl_mvm_sync_rx_queues_internal(mvm, (void *)&notif,
mvm               537 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c static void iwl_mvm_release_frames(struct iwl_mvm *mvm,
mvm               575 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 			iwl_mvm_sync_nssn(mvm, baid_data->baid, ssn);
mvm               583 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 			iwl_mvm_pass_packet_to_mac80211(mvm, napi, skb,
mvm               653 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		sta = rcu_dereference(buf->mvm->fw_id_to_mac_id[sta_id]);
mvm               657 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		IWL_DEBUG_HT(buf->mvm,
mvm               660 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		iwl_mvm_event_frame_timeout_callback(buf->mvm, mvmsta->vif,
mvm               662 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		iwl_mvm_release_frames(buf->mvm, sta, NULL, baid_data,
mvm               678 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c static void iwl_mvm_del_ba(struct iwl_mvm *mvm, int queue,
mvm               691 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 	ba_data = rcu_dereference(mvm->baid_map[baid]);
mvm               695 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 	sta = rcu_dereference(mvm->fw_id_to_mac_id[ba_data->sta_id]);
mvm               703 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 	iwl_mvm_release_frames(mvm, sta, NULL, ba_data, reorder_buf,
mvm               714 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c static void iwl_mvm_release_frames_from_notif(struct iwl_mvm *mvm,
mvm               723 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 	IWL_DEBUG_HT(mvm, "Frame release notification for BAID %u, NSSN %d\n",
mvm               727 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 			 baid >= ARRAY_SIZE(mvm->baid_map)))
mvm               732 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 	ba_data = rcu_dereference(mvm->baid_map[baid]);
mvm               736 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 	sta = rcu_dereference(mvm->fw_id_to_mac_id[ba_data->sta_id]);
mvm               743 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 	iwl_mvm_release_frames(mvm, sta, napi, ba_data,
mvm               751 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c static void iwl_mvm_nssn_sync(struct iwl_mvm *mvm,
mvm               755 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 	iwl_mvm_release_frames_from_notif(mvm, napi, data->baid,
mvm               760 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c void iwl_mvm_rx_queue_notif(struct iwl_mvm *mvm, struct napi_struct *napi,
mvm               771 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 	    mvm->queue_sync_cookie != internal_notif->cookie) {
mvm               780 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		iwl_mvm_del_ba(mvm, queue, (void *)internal_notif->data);
mvm               783 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		iwl_mvm_nssn_sync(mvm, napi, queue,
mvm               791 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 	    !atomic_dec_return(&mvm->queue_sync_counter))
mvm               792 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		wake_up(&mvm->rx_sync_waitq);
mvm               795 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c static void iwl_mvm_oldsn_workaround(struct iwl_mvm *mvm,
mvm               834 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		IWL_WARN(mvm,
mvm               848 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c static bool iwl_mvm_reorder(struct iwl_mvm *mvm,
mvm               902 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 	baid_data = rcu_dereference(mvm->baid_map[baid]);
mvm               904 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		IWL_DEBUG_RX(mvm,
mvm               934 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		iwl_mvm_release_frames(mvm, sta, napi, baid_data,
mvm               954 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		iwl_mvm_release_frames(mvm, sta, napi, baid_data, buffer,
mvm               958 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 	iwl_mvm_oldsn_workaround(mvm, sta, tid, buffer, reorder,
mvm               983 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 				iwl_mvm_sync_nssn(mvm, baid, sn);
mvm              1002 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 				iwl_mvm_sync_nssn(mvm, baid, sn);
mvm              1049 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		iwl_mvm_release_frames(mvm, sta, napi, baid_data,
mvm              1062 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c static void iwl_mvm_agg_rx_received(struct iwl_mvm *mvm,
mvm              1071 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 	data = rcu_dereference(mvm->baid_map[baid]);
mvm              1073 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		IWL_DEBUG_RX(mvm,
mvm              1113 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c static void iwl_mvm_decode_he_mu_ext(struct iwl_mvm *mvm,
mvm              1246 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c static void iwl_mvm_decode_he_phy_data(struct iwl_mvm *mvm,
mvm              1350 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		iwl_mvm_decode_he_mu_ext(mvm, phy_data, rate_n_flags, he_mu);
mvm              1379 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c static void iwl_mvm_rx_he(struct iwl_mvm *mvm, struct sk_buff *skb,
mvm              1423 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		iwl_mvm_decode_he_phy_data(mvm, phy_data, he, he_mu, rx_status,
mvm              1432 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		if (toggle_bit != mvm->ampdu_toggle) {
mvm              1548 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c void iwl_mvm_rx_mpdu_mq(struct iwl_mvm *mvm, struct napi_struct *napi,
mvm              1568 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 	if (unlikely(test_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status)))
mvm              1571 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 	if (mvm->trans->trans_cfg->device_family >= IWL_DEVICE_FAMILY_22560) {
mvm              1608 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		IWL_ERR(mvm, "alloc_skb failed\n");
mvm              1640 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		iwl_mvm_rx_he(mvm, skb, &phy_data, rate_n_flags,
mvm              1647 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 	if (iwl_mvm_rx_crypto(mvm, hdr, rx_status, phy_info, desc,
mvm              1660 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		IWL_DEBUG_RX(mvm, "Bad CRC or FIFO: 0x%08X.\n",
mvm              1672 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		if (mvm->trans->trans_cfg->device_family >=
mvm              1688 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 	iwl_mvm_get_signal_strength(mvm, rx_status, rate_n_flags, energy_a,
mvm              1701 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		if (toggle_bit != mvm->ampdu_toggle) {
mvm              1702 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 			mvm->ampdu_ref++;
mvm              1703 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 			if (mvm->ampdu_ref == 0)
mvm              1704 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 				mvm->ampdu_ref++;
mvm              1705 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 			mvm->ampdu_toggle = toggle_bit;
mvm              1707 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		rx_status->ampdu_reference = mvm->ampdu_ref;
mvm              1710 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 	if (unlikely(mvm->monitor_on))
mvm              1711 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		iwl_mvm_add_rtap_sniffer_config(mvm, skb);
mvm              1718 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		if (!WARN_ON_ONCE(id >= ARRAY_SIZE(mvm->fw_id_to_mac_id))) {
mvm              1719 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 			sta = rcu_dereference(mvm->fw_id_to_mac_id[id]);
mvm              1728 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		sta = ieee80211_find_sta_by_ifaddr(mvm->hw, hdr->addr2, NULL);
mvm              1734 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 			rcu_dereference(mvm->csa_tx_blocked_vif);
mvm              1741 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		if (!mvm->tcm.paused && len >= sizeof(*hdr) &&
mvm              1744 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		    time_after(jiffies, mvm->tcm.ts + MVM_TCM_PERIOD))
mvm              1745 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 			schedule_delayed_work(&mvm->tcm.work, 0);
mvm              1757 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 				iwl_mvm_sta_modify_disable_tx_ap(mvm, sta,
mvm              1761 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		rs_update_last_rssi(mvm, mvmsta, rx_status);
mvm              1763 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		trig = iwl_fw_dbg_trigger_on(&mvm->fwrt,
mvm              1775 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 				iwl_fw_dbg_collect_trig(&mvm->fwrt, trig,
mvm              1799 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 			if (mvm->trans->trans_cfg->device_family ==
mvm              1810 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 			iwl_mvm_agg_rx_received(mvm, reorder_data, baid);
mvm              1855 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 			     mvm->sched_scan_pass_all ==
mvm              1857 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 			mvm->sched_scan_pass_all = SCHED_SCAN_PASS_ALL_FOUND;
mvm              1864 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 	if (iwl_mvm_create_skb(mvm, skb, hdr, len, crypt_len, rxb)) {
mvm              1869 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 	if (!iwl_mvm_reorder(mvm, napi, queue, sta, skb, desc))
mvm              1870 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		iwl_mvm_pass_packet_to_mac80211(mvm, napi, skb, queue,
mvm              1876 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c void iwl_mvm_rx_monitor_no_data(struct iwl_mvm *mvm, struct napi_struct *napi,
mvm              1895 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 	if (unlikely(test_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status)))
mvm              1911 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		IWL_ERR(mvm, "alloc_skb failed\n");
mvm              1952 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		iwl_mvm_rx_he(mvm, skb, &phy_data, rate_n_flags,
mvm              1962 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 	iwl_mvm_get_signal_strength(mvm, rx_status, rate_n_flags, energy_a,
mvm              2013 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 	ieee80211_rx_napi(mvm->hw, sta, skb, napi);
mvm              2018 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c void iwl_mvm_rx_frame_release(struct iwl_mvm *mvm, struct napi_struct *napi,
mvm              2024 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 	iwl_mvm_release_frames_from_notif(mvm, napi, release->baid,
mvm              2029 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c void iwl_mvm_rx_bar_frame_release(struct iwl_mvm *mvm, struct napi_struct *napi,
mvm              2045 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 			 baid >= ARRAY_SIZE(mvm->baid_map)))
mvm              2049 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 	baid_data = rcu_dereference(mvm->baid_map[baid]);
mvm              2051 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 		IWL_DEBUG_RX(mvm,
mvm              2063 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 	iwl_mvm_release_frames_from_notif(mvm, napi, baid, nssn, queue, 0);
mvm               146 drivers/net/wireless/intel/iwlwifi/mvm/scan.c static inline void *iwl_mvm_get_scan_req_umac_data(struct iwl_mvm *mvm)
mvm               148 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	struct iwl_scan_req_umac *cmd = mvm->scan_cmd;
mvm               150 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (iwl_mvm_is_adaptive_dwell_v2_supported(mvm))
mvm               153 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (iwl_mvm_is_adaptive_dwell_supported(mvm))
mvm               156 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (iwl_mvm_cdb_scan_api(mvm))
mvm               163 drivers/net/wireless/intel/iwlwifi/mvm/scan.c iwl_mvm_get_scan_req_umac_channel(struct iwl_mvm *mvm)
mvm               165 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	struct iwl_scan_req_umac *cmd = mvm->scan_cmd;
mvm               167 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (iwl_mvm_is_adaptive_dwell_v2_supported(mvm))
mvm               170 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (iwl_mvm_is_adaptive_dwell_supported(mvm))
mvm               173 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (iwl_mvm_cdb_scan_api(mvm))
mvm               179 drivers/net/wireless/intel/iwlwifi/mvm/scan.c static u8 iwl_mvm_scan_rx_ant(struct iwl_mvm *mvm)
mvm               181 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (mvm->scan_rx_ant != ANT_NONE)
mvm               182 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		return mvm->scan_rx_ant;
mvm               183 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	return iwl_mvm_get_valid_rx_ant(mvm);
mvm               186 drivers/net/wireless/intel/iwlwifi/mvm/scan.c static inline __le16 iwl_mvm_scan_rx_chain(struct iwl_mvm *mvm)
mvm               191 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	rx_ant = iwl_mvm_scan_rx_ant(mvm);
mvm               208 drivers/net/wireless/intel/iwlwifi/mvm/scan.c iwl_mvm_scan_rate_n_flags(struct iwl_mvm *mvm, enum nl80211_band band,
mvm               213 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	iwl_mvm_toggle_tx_ant(mvm, &mvm->scan_last_antenna_idx);
mvm               214 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	tx_ant = BIT(mvm->scan_last_antenna_idx) << RATE_MCS_ANT_POS;
mvm               234 drivers/net/wireless/intel/iwlwifi/mvm/scan.c static enum iwl_mvm_traffic_load iwl_mvm_get_traffic_load(struct iwl_mvm *mvm)
mvm               236 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	return mvm->tcm.result.global_load;
mvm               240 drivers/net/wireless/intel/iwlwifi/mvm/scan.c iwl_mvm_get_traffic_load_band(struct iwl_mvm *mvm, enum nl80211_band band)
mvm               242 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	return mvm->tcm.result.band_load[band];
mvm               269 drivers/net/wireless/intel/iwlwifi/mvm/scan.c iwl_mvm_scan_type _iwl_mvm_get_scan_type(struct iwl_mvm *mvm,
mvm               276 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	ieee80211_iterate_active_interfaces_atomic(mvm->hw,
mvm               283 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (fw_has_api(&mvm->fw->ucode_capa,
mvm               299 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 			ieee80211_iterate_active_interfaces_atomic(mvm->hw,
mvm               315 drivers/net/wireless/intel/iwlwifi/mvm/scan.c iwl_mvm_scan_type iwl_mvm_get_scan_type(struct iwl_mvm *mvm,
mvm               321 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	load = iwl_mvm_get_traffic_load(mvm);
mvm               322 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	low_latency = iwl_mvm_low_latency(mvm);
mvm               324 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	return _iwl_mvm_get_scan_type(mvm, vif, load, low_latency);
mvm               328 drivers/net/wireless/intel/iwlwifi/mvm/scan.c iwl_mvm_scan_type iwl_mvm_get_scan_type_band(struct iwl_mvm *mvm,
mvm               335 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	load = iwl_mvm_get_traffic_load_band(mvm, band);
mvm               336 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	low_latency = iwl_mvm_low_latency_band(mvm, band);
mvm               338 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	return _iwl_mvm_get_scan_type(mvm, vif, load, low_latency);
mvm               342 drivers/net/wireless/intel/iwlwifi/mvm/scan.c iwl_mvm_get_measurement_dwell(struct iwl_mvm *mvm,
mvm               351 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (iwl_mvm_is_cdb_supported(mvm)) {
mvm               358 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		IWL_DEBUG_SCAN(mvm,
mvm               368 drivers/net/wireless/intel/iwlwifi/mvm/scan.c static inline bool iwl_mvm_rrm_scan_needed(struct iwl_mvm *mvm)
mvm               371 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	return fw_has_capa(&mvm->fw->ucode_capa,
mvm               375 drivers/net/wireless/intel/iwlwifi/mvm/scan.c static int iwl_mvm_max_scan_ie_fw_cmd_room(struct iwl_mvm *mvm)
mvm               385 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (iwl_mvm_rrm_scan_needed(mvm))
mvm               391 drivers/net/wireless/intel/iwlwifi/mvm/scan.c int iwl_mvm_max_scan_ie_len(struct iwl_mvm *mvm)
mvm               393 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	int max_ie_len = iwl_mvm_max_scan_ie_fw_cmd_room(mvm);
mvm               408 drivers/net/wireless/intel/iwlwifi/mvm/scan.c void iwl_mvm_rx_lmac_scan_iter_complete_notif(struct iwl_mvm *mvm,
mvm               414 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	IWL_DEBUG_SCAN(mvm,
mvm               418 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (mvm->sched_scan_pass_all == SCHED_SCAN_PASS_ALL_FOUND) {
mvm               419 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		IWL_DEBUG_SCAN(mvm, "Pass all scheduled scan results found\n");
mvm               420 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		ieee80211_sched_scan_results(mvm->hw);
mvm               421 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		mvm->sched_scan_pass_all = SCHED_SCAN_PASS_ALL_ENABLED;
mvm               425 drivers/net/wireless/intel/iwlwifi/mvm/scan.c void iwl_mvm_rx_scan_match_found(struct iwl_mvm *mvm,
mvm               428 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	IWL_DEBUG_SCAN(mvm, "Scheduled scan results\n");
mvm               429 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	ieee80211_sched_scan_results(mvm->hw);
mvm               446 drivers/net/wireless/intel/iwlwifi/mvm/scan.c void iwl_mvm_rx_lmac_scan_complete_notif(struct iwl_mvm *mvm,
mvm               456 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (WARN_ON_ONCE(fw_has_capa(&mvm->fw->ucode_capa,
mvm               461 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	lockdep_assert_held(&mvm->mutex);
mvm               473 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (mvm->scan_status & IWL_MVM_SCAN_STOPPING_SCHED) {
mvm               474 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		WARN_ON_ONCE(mvm->scan_status & IWL_MVM_SCAN_STOPPING_REGULAR);
mvm               476 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		IWL_DEBUG_SCAN(mvm, "Scheduled scan %s, EBS status %s\n",
mvm               479 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		IWL_DEBUG_SCAN(mvm,
mvm               485 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		mvm->scan_status &= ~IWL_MVM_SCAN_STOPPING_SCHED;
mvm               486 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	} else if (mvm->scan_status & IWL_MVM_SCAN_STOPPING_REGULAR) {
mvm               487 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		IWL_DEBUG_SCAN(mvm, "Regular scan %s, EBS status %s\n",
mvm               491 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		mvm->scan_status &= ~IWL_MVM_SCAN_STOPPING_REGULAR;
mvm               492 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	} else if (mvm->scan_status & IWL_MVM_SCAN_SCHED) {
mvm               493 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		WARN_ON_ONCE(mvm->scan_status & IWL_MVM_SCAN_REGULAR);
mvm               495 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		IWL_DEBUG_SCAN(mvm, "Scheduled scan %s, EBS status %s\n",
mvm               498 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		IWL_DEBUG_SCAN(mvm,
mvm               504 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		mvm->scan_status &= ~IWL_MVM_SCAN_SCHED;
mvm               505 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		ieee80211_sched_scan_stopped(mvm->hw);
mvm               506 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		mvm->sched_scan_pass_all = SCHED_SCAN_PASS_ALL_DISABLED;
mvm               507 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	} else if (mvm->scan_status & IWL_MVM_SCAN_REGULAR) {
mvm               512 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		IWL_DEBUG_SCAN(mvm, "Regular scan %s, EBS status %s (FW)\n",
mvm               516 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		mvm->scan_status &= ~IWL_MVM_SCAN_REGULAR;
mvm               517 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		ieee80211_scan_completed(mvm->hw, &info);
mvm               518 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		cancel_delayed_work(&mvm->scan_timeout_dwork);
mvm               519 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		iwl_mvm_resume_tcm(mvm);
mvm               521 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		IWL_ERR(mvm,
mvm               525 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	mvm->last_ebs_successful =
mvm               592 drivers/net/wireless/intel/iwlwifi/mvm/scan.c iwl_mvm_config_sched_scan_profiles(struct iwl_mvm *mvm,
mvm               611 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (mvm->fw->ucode_capa.flags & IWL_UCODE_TLV_FLAGS_SHORT_BL)
mvm               650 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	IWL_DEBUG_SCAN(mvm, "Sending scheduled scan profile config\n");
mvm               652 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	ret = iwl_mvm_send_cmd(mvm, &cmd);
mvm               660 drivers/net/wireless/intel/iwlwifi/mvm/scan.c static bool iwl_mvm_scan_pass_all(struct iwl_mvm *mvm,
mvm               664 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		IWL_DEBUG_SCAN(mvm,
mvm               667 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		mvm->sched_scan_pass_all = SCHED_SCAN_PASS_ALL_DISABLED;
mvm               671 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	IWL_DEBUG_SCAN(mvm, "Sending Scheduled scan without filtering\n");
mvm               673 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	mvm->sched_scan_pass_all = SCHED_SCAN_PASS_ALL_ENABLED;
mvm               677 drivers/net/wireless/intel/iwlwifi/mvm/scan.c static int iwl_mvm_lmac_scan_abort(struct iwl_mvm *mvm)
mvm               685 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	ret = iwl_mvm_send_cmd_status(mvm, &cmd, &status);
mvm               697 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		IWL_DEBUG_SCAN(mvm, "SCAN OFFLOAD ABORT ret %d.\n", status);
mvm               704 drivers/net/wireless/intel/iwlwifi/mvm/scan.c static void iwl_mvm_scan_fill_tx_cmd(struct iwl_mvm *mvm,
mvm               710 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	tx_cmd[0].rate_n_flags = iwl_mvm_scan_rate_n_flags(mvm,
mvm               713 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	tx_cmd[0].sta_id = mvm->aux_sta.sta_id;
mvm               717 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	tx_cmd[1].rate_n_flags = iwl_mvm_scan_rate_n_flags(mvm,
mvm               720 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	tx_cmd[1].sta_id = mvm->aux_sta.sta_id;
mvm               724 drivers/net/wireless/intel/iwlwifi/mvm/scan.c iwl_mvm_lmac_scan_cfg_channels(struct iwl_mvm *mvm,
mvm               743 drivers/net/wireless/intel/iwlwifi/mvm/scan.c static u8 *iwl_mvm_copy_and_insert_ds_elem(struct iwl_mvm *mvm, const u8 *ies,
mvm               755 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (!iwl_mvm_rrm_scan_needed(mvm)) {
mvm               796 drivers/net/wireless/intel/iwlwifi/mvm/scan.c iwl_mvm_build_scan_probe(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm               830 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	newpos = iwl_mvm_copy_and_insert_ds_elem(mvm,
mvm               848 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (iwl_mvm_rrm_scan_needed(mvm) &&
mvm               849 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	    !fw_has_capa(&mvm->fw->ucode_capa,
mvm               859 drivers/net/wireless/intel/iwlwifi/mvm/scan.c static void iwl_mvm_scan_lmac_dwell(struct iwl_mvm *mvm,
mvm               872 drivers/net/wireless/intel/iwlwifi/mvm/scan.c static inline bool iwl_mvm_scan_fits(struct iwl_mvm *mvm, int n_ssids,
mvm               877 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		(n_channels <= mvm->fw->ucode_capa.n_scan_channels) &
mvm               881 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		 iwl_mvm_max_scan_ie_fw_cmd_room(mvm)));
mvm               884 drivers/net/wireless/intel/iwlwifi/mvm/scan.c static inline bool iwl_mvm_scan_use_ebs(struct iwl_mvm *mvm,
mvm               887 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	const struct iwl_ucode_capabilities *capa = &mvm->fw->ucode_capa;
mvm               890 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (iwl_mvm_is_cdb_supported(mvm))
mvm               891 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		low_latency = iwl_mvm_low_latency_band(mvm, NL80211_BAND_5GHZ);
mvm               893 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		low_latency = iwl_mvm_low_latency(mvm);
mvm               904 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		mvm->last_ebs_successful && IWL_MVM_ENABLE_EBS &&
mvm               906 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		(!low_latency || iwl_mvm_is_frag_ebs_supported(mvm)));
mvm               921 drivers/net/wireless/intel/iwlwifi/mvm/scan.c static int iwl_mvm_scan_lmac_flags(struct iwl_mvm *mvm,
mvm               936 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (iwl_mvm_rrm_scan_needed(mvm) &&
mvm               937 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	    fw_has_capa(&mvm->fw->ucode_capa,
mvm               947 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (mvm->scan_iter_notif_enabled)
mvm               951 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (mvm->sched_scan_pass_all == SCHED_SCAN_PASS_ALL_ENABLED)
mvm               975 drivers/net/wireless/intel/iwlwifi/mvm/scan.c static int iwl_mvm_scan_lmac(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm               978 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	struct iwl_scan_req_lmac *cmd = mvm->scan_cmd;
mvm               981 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 			 mvm->fw->ucode_capa.n_scan_channels);
mvm               985 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	lockdep_assert_held(&mvm->mutex);
mvm               992 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	iwl_mvm_scan_lmac_dwell(mvm, cmd, params);
mvm               994 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	cmd->rx_chain_select = iwl_mvm_scan_rx_chain(mvm);
mvm              1000 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	cmd->scan_flags = cpu_to_le32(iwl_mvm_scan_lmac_flags(mvm, params,
mvm              1006 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	iwl_mvm_scan_fill_tx_cmd(mvm, cmd->tx_cmd, params->no_cck);
mvm              1031 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (iwl_mvm_scan_use_ebs(mvm, vif)) {
mvm              1046 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	iwl_mvm_lmac_scan_cfg_channels(mvm, params->channels,
mvm              1074 drivers/net/wireless/intel/iwlwifi/mvm/scan.c static __le32 iwl_mvm_scan_config_rates(struct iwl_mvm *mvm)
mvm              1080 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	band = &mvm->nvm_data->bands[NL80211_BAND_2GHZ];
mvm              1083 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	band = &mvm->nvm_data->bands[NL80211_BAND_5GHZ];
mvm              1093 drivers/net/wireless/intel/iwlwifi/mvm/scan.c static void iwl_mvm_fill_scan_dwell(struct iwl_mvm *mvm,
mvm              1102 drivers/net/wireless/intel/iwlwifi/mvm/scan.c static void iwl_mvm_fill_channels(struct iwl_mvm *mvm, u8 *channels,
mvm              1108 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	band = &mvm->nvm_data->bands[NL80211_BAND_2GHZ];
mvm              1111 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	band = &mvm->nvm_data->bands[NL80211_BAND_5GHZ];
mvm              1116 drivers/net/wireless/intel/iwlwifi/mvm/scan.c static void iwl_mvm_fill_scan_config_v1(struct iwl_mvm *mvm, void *config,
mvm              1120 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	enum iwl_mvm_scan_type type = iwl_mvm_get_scan_type(mvm, NULL);
mvm              1124 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	cfg->tx_chains = cpu_to_le32(iwl_mvm_get_valid_tx_ant(mvm));
mvm              1125 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	cfg->rx_chains = cpu_to_le32(iwl_mvm_scan_rx_ant(mvm));
mvm              1126 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	cfg->legacy_rates = iwl_mvm_scan_config_rates(mvm);
mvm              1130 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	iwl_mvm_fill_scan_dwell(mvm, &cfg->dwell);
mvm              1132 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	memcpy(&cfg->mac_addr, &mvm->addresses[0].addr, ETH_ALEN);
mvm              1134 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	cfg->bcast_sta_id = mvm->aux_sta.sta_id;
mvm              1137 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	iwl_mvm_fill_channels(mvm, cfg->channel_array, max_channels);
mvm              1140 drivers/net/wireless/intel/iwlwifi/mvm/scan.c static void iwl_mvm_fill_scan_config_v2(struct iwl_mvm *mvm, void *config,
mvm              1147 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	cfg->tx_chains = cpu_to_le32(iwl_mvm_get_valid_tx_ant(mvm));
mvm              1148 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	cfg->rx_chains = cpu_to_le32(iwl_mvm_scan_rx_ant(mvm));
mvm              1149 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	cfg->legacy_rates = iwl_mvm_scan_config_rates(mvm);
mvm              1151 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (iwl_mvm_is_cdb_supported(mvm)) {
mvm              1154 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		lb_type = iwl_mvm_get_scan_type_band(mvm, NULL,
mvm              1156 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		hb_type = iwl_mvm_get_scan_type_band(mvm, NULL,
mvm              1170 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 			iwl_mvm_get_scan_type(mvm, NULL);
mvm              1178 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	iwl_mvm_fill_scan_dwell(mvm, &cfg->dwell);
mvm              1180 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	memcpy(&cfg->mac_addr, &mvm->addresses[0].addr, ETH_ALEN);
mvm              1182 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	cfg->bcast_sta_id = mvm->aux_sta.sta_id;
mvm              1185 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	iwl_mvm_fill_channels(mvm, cfg->channel_array, max_channels);
mvm              1188 drivers/net/wireless/intel/iwlwifi/mvm/scan.c static int iwl_mvm_legacy_config_scan(struct iwl_mvm *mvm)
mvm              1198 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		mvm->nvm_data->bands[NL80211_BAND_2GHZ].n_channels +
mvm              1199 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		mvm->nvm_data->bands[NL80211_BAND_5GHZ].n_channels;
mvm              1203 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (WARN_ON(num_channels > mvm->fw->ucode_capa.n_scan_channels))
mvm              1204 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		num_channels = mvm->fw->ucode_capa.n_scan_channels;
mvm              1206 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (iwl_mvm_is_cdb_supported(mvm)) {
mvm              1207 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		type = iwl_mvm_get_scan_type_band(mvm, NULL,
mvm              1209 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		hb_type = iwl_mvm_get_scan_type_band(mvm, NULL,
mvm              1211 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		if (type == mvm->scan_type && hb_type == mvm->hb_scan_type)
mvm              1214 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		type = iwl_mvm_get_scan_type(mvm, NULL);
mvm              1215 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		if (type == mvm->scan_type)
mvm              1219 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (iwl_mvm_cdb_scan_api(mvm))
mvm              1223 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	cmd_size += mvm->fw->ucode_capa.n_scan_channels;
mvm              1252 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (iwl_mvm_cdb_scan_api(mvm)) {
mvm              1253 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		if (iwl_mvm_is_cdb_supported(mvm))
mvm              1257 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		iwl_mvm_fill_scan_config_v2(mvm, cfg, flags, channel_flags,
mvm              1260 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		iwl_mvm_fill_scan_config_v1(mvm, cfg, flags, channel_flags,
mvm              1268 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	IWL_DEBUG_SCAN(mvm, "Sending UMAC scan config\n");
mvm              1270 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	ret = iwl_mvm_send_cmd(mvm, &cmd);
mvm              1272 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		mvm->scan_type = type;
mvm              1273 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		mvm->hb_scan_type = hb_type;
mvm              1280 drivers/net/wireless/intel/iwlwifi/mvm/scan.c int iwl_mvm_config_scan(struct iwl_mvm *mvm)
mvm              1290 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (!iwl_mvm_is_reduced_config_scan_supported(mvm))
mvm              1291 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		return iwl_mvm_legacy_config_scan(mvm);
mvm              1295 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	cfg.bcast_sta_id = mvm->aux_sta.sta_id;
mvm              1296 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	cfg.tx_chains = cpu_to_le32(iwl_mvm_get_valid_tx_ant(mvm));
mvm              1297 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	cfg.rx_chains = cpu_to_le32(iwl_mvm_scan_rx_ant(mvm));
mvm              1299 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	IWL_DEBUG_SCAN(mvm, "Sending UMAC scan config\n");
mvm              1301 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	return iwl_mvm_send_cmd(mvm, &cmd);
mvm              1304 drivers/net/wireless/intel/iwlwifi/mvm/scan.c static int iwl_mvm_scan_uid_by_status(struct iwl_mvm *mvm, int status)
mvm              1308 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	for (i = 0; i < mvm->max_scans; i++)
mvm              1309 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		if (mvm->scan_uid_status[i] == status)
mvm              1315 drivers/net/wireless/intel/iwlwifi/mvm/scan.c static void iwl_mvm_scan_umac_dwell(struct iwl_mvm *mvm,
mvm              1328 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (iwl_mvm_is_adaptive_dwell_supported(mvm)) {
mvm              1334 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		if (iwl_mvm_is_adwell_hb_ap_num_supported(mvm))
mvm              1355 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		if (iwl_mvm_is_cdb_supported(mvm)) {
mvm              1364 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		if (!iwl_mvm_is_adaptive_dwell_v2_supported(mvm)) {
mvm              1371 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 			if (iwl_mvm_is_cdb_supported(mvm)) {
mvm              1385 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		if (iwl_mvm_is_cdb_supported(mvm)) {
mvm              1394 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		if (iwl_mvm_cdb_scan_api(mvm)) {
mvm              1418 drivers/net/wireless/intel/iwlwifi/mvm/scan.c iwl_mvm_umac_scan_cfg_channels(struct iwl_mvm *mvm,
mvm              1428 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		if (iwl_mvm_is_scan_ext_chan_supported(mvm)) {
mvm              1441 drivers/net/wireless/intel/iwlwifi/mvm/scan.c static u16 iwl_mvm_scan_umac_flags(struct iwl_mvm *mvm,
mvm              1456 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (iwl_mvm_is_cdb_supported(mvm) &&
mvm              1460 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (iwl_mvm_rrm_scan_needed(mvm) &&
mvm              1461 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	    fw_has_capa(&mvm->fw->ucode_capa,
mvm              1477 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (mvm->scan_iter_notif_enabled)
mvm              1481 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (mvm->sched_scan_pass_all == SCHED_SCAN_PASS_ALL_ENABLED)
mvm              1484 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (iwl_mvm_is_adaptive_dwell_supported(mvm) && IWL_MVM_ADWELL_ENABLE &&
mvm              1496 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	    !iwl_mvm_is_adaptive_dwell_supported(mvm) &&
mvm              1497 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	    !iwl_mvm_is_oce_supported(mvm))
mvm              1500 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (iwl_mvm_is_oce_supported(mvm)) {
mvm              1511 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		     !WARN_ON_ONCE(!iwl_mvm_is_adaptive_dwell_supported(mvm)))
mvm              1520 drivers/net/wireless/intel/iwlwifi/mvm/scan.c static int iwl_mvm_scan_umac(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm              1524 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	struct iwl_scan_req_umac *cmd = mvm->scan_cmd;
mvm              1526 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	void *cmd_data = iwl_mvm_get_scan_req_umac_data(mvm);
mvm              1528 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		mvm->fw->ucode_capa.n_scan_channels;
mvm              1539 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	chan_param = iwl_mvm_get_scan_req_umac_channel(mvm);
mvm              1541 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	lockdep_assert_held(&mvm->mutex);
mvm              1546 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	uid = iwl_mvm_scan_uid_by_status(mvm, 0);
mvm              1552 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	iwl_mvm_scan_umac_dwell(mvm, cmd, params);
mvm              1554 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	mvm->scan_uid_status[uid] = type;
mvm              1557 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	gen_flags = iwl_mvm_scan_umac_flags(mvm, params, vif);
mvm              1559 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (iwl_mvm_is_adaptive_dwell_v2_supported(mvm)) {
mvm              1576 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (iwl_mvm_scan_use_ebs(mvm, vif)) {
mvm              1582 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		if (iwl_mvm_is_frag_ebs_supported(mvm)) {
mvm              1585 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 			    (!iwl_mvm_is_cdb_supported(mvm) &&
mvm              1614 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (iwl_mvm_is_scan_ext_chan_supported(mvm)) {
mvm              1624 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	iwl_mvm_umac_scan_cfg_channels(mvm, params->channels,
mvm              1630 drivers/net/wireless/intel/iwlwifi/mvm/scan.c static int iwl_mvm_num_scans(struct iwl_mvm *mvm)
mvm              1632 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	return hweight32(mvm->scan_status & IWL_MVM_SCAN_MASK);
mvm              1635 drivers/net/wireless/intel/iwlwifi/mvm/scan.c static int iwl_mvm_check_running_scans(struct iwl_mvm *mvm, int type)
mvm              1637 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	bool unified_image = fw_has_capa(&mvm->fw->ucode_capa,
mvm              1652 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	    mvm->scan_status & (IWL_MVM_SCAN_SCHED | IWL_MVM_SCAN_NETDETECT))
mvm              1655 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (iwl_mvm_num_scans(mvm) < mvm->max_scans)
mvm              1663 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		if (mvm->scan_status & IWL_MVM_SCAN_REGULAR_MASK)
mvm              1665 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		return iwl_mvm_scan_stop(mvm, IWL_MVM_SCAN_SCHED, true);
mvm              1667 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		if (mvm->scan_status & IWL_MVM_SCAN_SCHED_MASK)
mvm              1669 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		return iwl_mvm_scan_stop(mvm, IWL_MVM_SCAN_REGULAR, true);
mvm              1685 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		if (mvm->scan_status & IWL_MVM_SCAN_REGULAR_MASK)
mvm              1686 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 			return iwl_mvm_scan_stop(mvm, IWL_MVM_SCAN_REGULAR,
mvm              1688 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		if (mvm->scan_status & IWL_MVM_SCAN_SCHED_MASK)
mvm              1689 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 			return iwl_mvm_scan_stop(mvm, IWL_MVM_SCAN_SCHED,
mvm              1708 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	struct iwl_mvm *mvm = container_of(delayed_work, struct iwl_mvm,
mvm              1711 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	IWL_ERR(mvm, "regular scan timed out\n");
mvm              1713 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	iwl_force_nmi(mvm->trans);
mvm              1716 drivers/net/wireless/intel/iwlwifi/mvm/scan.c static void iwl_mvm_fill_scan_type(struct iwl_mvm *mvm,
mvm              1720 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (iwl_mvm_is_cdb_supported(mvm)) {
mvm              1722 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 			iwl_mvm_get_scan_type_band(mvm, vif,
mvm              1725 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 			iwl_mvm_get_scan_type_band(mvm, vif,
mvm              1728 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		params->type = iwl_mvm_get_scan_type(mvm, vif);
mvm              1732 drivers/net/wireless/intel/iwlwifi/mvm/scan.c int iwl_mvm_reg_scan_start(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm              1737 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		.len = { iwl_mvm_scan_size(mvm), },
mvm              1738 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		.data = { mvm->scan_cmd, },
mvm              1745 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	lockdep_assert_held(&mvm->mutex);
mvm              1747 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (iwl_mvm_is_lar_supported(mvm) && !mvm->lar_regdom_set) {
mvm              1748 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		IWL_ERR(mvm, "scan while LAR regdomain is not set\n");
mvm              1752 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	ret = iwl_mvm_check_running_scans(mvm, IWL_MVM_SCAN_REGULAR);
mvm              1757 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (WARN_ON(!mvm->scan_cmd))
mvm              1760 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (!iwl_mvm_scan_fits(mvm, req->n_ssids, ies, req->n_channels))
mvm              1779 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	iwl_mvm_fill_scan_type(mvm, &params, vif);
mvm              1781 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	ret = iwl_mvm_get_measurement_dwell(mvm, req, &params);
mvm              1787 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	iwl_mvm_build_scan_probe(mvm, vif, ies, &params);
mvm              1789 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (fw_has_capa(&mvm->fw->ucode_capa, IWL_UCODE_TLV_CAPA_UMAC_SCAN)) {
mvm              1791 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		ret = iwl_mvm_scan_umac(mvm, vif, &params,
mvm              1795 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		ret = iwl_mvm_scan_lmac(mvm, vif, &params);
mvm              1801 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	iwl_mvm_pause_tcm(mvm, false);
mvm              1803 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	ret = iwl_mvm_send_cmd(mvm, &hcmd);
mvm              1809 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		IWL_ERR(mvm, "Scan failed! ret %d\n", ret);
mvm              1810 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		iwl_mvm_resume_tcm(mvm);
mvm              1814 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	IWL_DEBUG_SCAN(mvm, "Scan request was sent successfully\n");
mvm              1815 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	mvm->scan_status |= IWL_MVM_SCAN_REGULAR;
mvm              1816 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	mvm->scan_vif = iwl_mvm_vif_from_mac80211(vif);
mvm              1818 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	schedule_delayed_work(&mvm->scan_timeout_dwork,
mvm              1824 drivers/net/wireless/intel/iwlwifi/mvm/scan.c int iwl_mvm_sched_scan_start(struct iwl_mvm *mvm,
mvm              1831 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		.len = { iwl_mvm_scan_size(mvm), },
mvm              1832 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		.data = { mvm->scan_cmd, },
mvm              1838 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	lockdep_assert_held(&mvm->mutex);
mvm              1840 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (iwl_mvm_is_lar_supported(mvm) && !mvm->lar_regdom_set) {
mvm              1841 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		IWL_ERR(mvm, "sched-scan while LAR regdomain is not set\n");
mvm              1845 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	ret = iwl_mvm_check_running_scans(mvm, type);
mvm              1850 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (WARN_ON(!mvm->scan_cmd))
mvm              1853 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (!iwl_mvm_scan_fits(mvm, req->n_ssids, ies, req->n_channels))
mvm              1864 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	params.pass_all =  iwl_mvm_scan_pass_all(mvm, req);
mvm              1873 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	iwl_mvm_fill_scan_type(mvm, &params, vif);
mvm              1881 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		IWL_DEBUG_SCAN(mvm,
mvm              1888 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	ret = iwl_mvm_config_sched_scan_profiles(mvm, req);
mvm              1892 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	iwl_mvm_build_scan_probe(mvm, vif, ies, &params);
mvm              1894 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (fw_has_capa(&mvm->fw->ucode_capa, IWL_UCODE_TLV_CAPA_UMAC_SCAN)) {
mvm              1896 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		ret = iwl_mvm_scan_umac(mvm, vif, &params, type);
mvm              1899 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		ret = iwl_mvm_scan_lmac(mvm, vif, &params);
mvm              1905 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	ret = iwl_mvm_send_cmd(mvm, &hcmd);
mvm              1907 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		IWL_DEBUG_SCAN(mvm,
mvm              1909 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		mvm->scan_status |= type;
mvm              1915 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		IWL_ERR(mvm, "Sched scan failed! ret %d\n", ret);
mvm              1921 drivers/net/wireless/intel/iwlwifi/mvm/scan.c void iwl_mvm_rx_umac_scan_complete_notif(struct iwl_mvm *mvm,
mvm              1929 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (WARN_ON(!(mvm->scan_uid_status[uid] & mvm->scan_status)))
mvm              1933 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (mvm->scan_uid_status[uid] == IWL_MVM_SCAN_REGULAR) {
mvm              1936 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 			.scan_start_tsf = mvm->scan_start,
mvm              1939 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		memcpy(info.tsf_bssid, mvm->scan_vif->bssid, ETH_ALEN);
mvm              1940 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		ieee80211_scan_completed(mvm->hw, &info);
mvm              1941 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		mvm->scan_vif = NULL;
mvm              1942 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		cancel_delayed_work(&mvm->scan_timeout_dwork);
mvm              1943 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		iwl_mvm_resume_tcm(mvm);
mvm              1944 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	} else if (mvm->scan_uid_status[uid] == IWL_MVM_SCAN_SCHED) {
mvm              1945 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		ieee80211_sched_scan_stopped(mvm->hw);
mvm              1946 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		mvm->sched_scan_pass_all = SCHED_SCAN_PASS_ALL_DISABLED;
mvm              1949 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	mvm->scan_status &= ~mvm->scan_uid_status[uid];
mvm              1950 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	IWL_DEBUG_SCAN(mvm,
mvm              1952 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		       uid, mvm->scan_uid_status[uid],
mvm              1956 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	IWL_DEBUG_SCAN(mvm,
mvm              1963 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		mvm->last_ebs_successful = false;
mvm              1965 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	mvm->scan_uid_status[uid] = 0;
mvm              1968 drivers/net/wireless/intel/iwlwifi/mvm/scan.c void iwl_mvm_rx_umac_scan_iter_complete_notif(struct iwl_mvm *mvm,
mvm              1974 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	mvm->scan_start = le64_to_cpu(notif->start_tsf);
mvm              1976 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	IWL_DEBUG_SCAN(mvm,
mvm              1980 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (mvm->sched_scan_pass_all == SCHED_SCAN_PASS_ALL_FOUND) {
mvm              1981 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		IWL_DEBUG_SCAN(mvm, "Pass all scheduled scan results found\n");
mvm              1982 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		ieee80211_sched_scan_results(mvm->hw);
mvm              1983 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		mvm->sched_scan_pass_all = SCHED_SCAN_PASS_ALL_ENABLED;
mvm              1986 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	IWL_DEBUG_SCAN(mvm,
mvm              1988 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		       mvm->scan_start);
mvm              1991 drivers/net/wireless/intel/iwlwifi/mvm/scan.c static int iwl_mvm_umac_scan_abort(struct iwl_mvm *mvm, int type)
mvm              1996 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	lockdep_assert_held(&mvm->mutex);
mvm              2002 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	uid = iwl_mvm_scan_uid_by_status(mvm, type);
mvm              2008 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	IWL_DEBUG_SCAN(mvm, "Sending scan abort, uid %u\n", uid);
mvm              2010 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	ret = iwl_mvm_send_cmd_pdu(mvm,
mvm              2015 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		mvm->scan_uid_status[uid] = type << IWL_MVM_SCAN_STOPPING_SHIFT;
mvm              2020 drivers/net/wireless/intel/iwlwifi/mvm/scan.c static int iwl_mvm_scan_stop_wait(struct iwl_mvm *mvm, int type)
mvm              2027 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	lockdep_assert_held(&mvm->mutex);
mvm              2029 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	iwl_init_notification_wait(&mvm->notif_wait, &wait_scan_done,
mvm              2034 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	IWL_DEBUG_SCAN(mvm, "Preparing to stop scan, type %x\n", type);
mvm              2036 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (fw_has_capa(&mvm->fw->ucode_capa, IWL_UCODE_TLV_CAPA_UMAC_SCAN))
mvm              2037 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		ret = iwl_mvm_umac_scan_abort(mvm, type);
mvm              2039 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		ret = iwl_mvm_lmac_scan_abort(mvm);
mvm              2042 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		IWL_DEBUG_SCAN(mvm, "couldn't stop scan type %d\n", type);
mvm              2043 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		iwl_remove_notification(&mvm->notif_wait, &wait_scan_done);
mvm              2047 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	return iwl_wait_notification(&mvm->notif_wait, &wait_scan_done,
mvm              2051 drivers/net/wireless/intel/iwlwifi/mvm/scan.c int iwl_mvm_scan_size(struct iwl_mvm *mvm)
mvm              2056 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (iwl_mvm_is_adaptive_dwell_v2_supported(mvm))
mvm              2058 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	else if (iwl_mvm_is_adaptive_dwell_supported(mvm))
mvm              2060 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	else if (iwl_mvm_cdb_scan_api(mvm))
mvm              2063 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (fw_has_capa(&mvm->fw->ucode_capa, IWL_UCODE_TLV_CAPA_UMAC_SCAN)) {
mvm              2064 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		if (iwl_mvm_is_scan_ext_chan_supported(mvm))
mvm              2071 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 				mvm->fw->ucode_capa.n_scan_channels +
mvm              2076 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		mvm->fw->ucode_capa.n_scan_channels +
mvm              2084 drivers/net/wireless/intel/iwlwifi/mvm/scan.c void iwl_mvm_report_scan_aborted(struct iwl_mvm *mvm)
mvm              2086 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (fw_has_capa(&mvm->fw->ucode_capa, IWL_UCODE_TLV_CAPA_UMAC_SCAN)) {
mvm              2089 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		uid = iwl_mvm_scan_uid_by_status(mvm, IWL_MVM_SCAN_REGULAR);
mvm              2095 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 			ieee80211_scan_completed(mvm->hw, &info);
mvm              2096 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 			mvm->scan_uid_status[uid] = 0;
mvm              2098 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		uid = iwl_mvm_scan_uid_by_status(mvm, IWL_MVM_SCAN_SCHED);
mvm              2099 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		if (uid >= 0 && !mvm->fw_restart) {
mvm              2100 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 			ieee80211_sched_scan_stopped(mvm->hw);
mvm              2101 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 			mvm->sched_scan_pass_all = SCHED_SCAN_PASS_ALL_DISABLED;
mvm              2102 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 			mvm->scan_uid_status[uid] = 0;
mvm              2109 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		for (i = 0; i < mvm->max_scans; i++) {
mvm              2110 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 			if (WARN_ONCE(mvm->scan_uid_status[i],
mvm              2113 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 				mvm->scan_uid_status[i] = 0;
mvm              2116 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		if (mvm->scan_status & IWL_MVM_SCAN_REGULAR) {
mvm              2121 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 			ieee80211_scan_completed(mvm->hw, &info);
mvm              2128 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		if ((mvm->scan_status & IWL_MVM_SCAN_SCHED) &&
mvm              2129 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		    !mvm->fw_restart) {
mvm              2130 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 			ieee80211_sched_scan_stopped(mvm->hw);
mvm              2131 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 			mvm->sched_scan_pass_all = SCHED_SCAN_PASS_ALL_DISABLED;
mvm              2136 drivers/net/wireless/intel/iwlwifi/mvm/scan.c int iwl_mvm_scan_stop(struct iwl_mvm *mvm, int type, bool notify)
mvm              2140 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (!(mvm->scan_status & type))
mvm              2143 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	if (iwl_mvm_is_radio_killed(mvm)) {
mvm              2148 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	ret = iwl_mvm_scan_stop_wait(mvm, type);
mvm              2150 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		mvm->scan_status |= type << IWL_MVM_SCAN_STOPPING_SHIFT;
mvm              2157 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 	mvm->scan_status &= ~type;
mvm              2160 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		cancel_delayed_work(&mvm->scan_timeout_dwork);
mvm              2166 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 			ieee80211_scan_completed(mvm->hw, &info);
mvm              2169 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		ieee80211_sched_scan_stopped(mvm->hw);
mvm              2170 drivers/net/wireless/intel/iwlwifi/mvm/scan.c 		mvm->sched_scan_pass_all = SCHED_SCAN_PASS_ALL_DISABLED;
mvm               152 drivers/net/wireless/intel/iwlwifi/mvm/sf.c static void iwl_mvm_fill_sf_command(struct iwl_mvm *mvm,
mvm               211 drivers/net/wireless/intel/iwlwifi/mvm/sf.c static int iwl_mvm_sf_config(struct iwl_mvm *mvm, u8 sta_id,
mvm               220 drivers/net/wireless/intel/iwlwifi/mvm/sf.c 	if (mvm->cfg->disable_dummy_notification)
mvm               227 drivers/net/wireless/intel/iwlwifi/mvm/sf.c 	if (new_state != SF_FULL_ON && mvm->sf_state == new_state)
mvm               232 drivers/net/wireless/intel/iwlwifi/mvm/sf.c 		iwl_mvm_fill_sf_command(mvm, &sf_cmd, NULL);
mvm               236 drivers/net/wireless/intel/iwlwifi/mvm/sf.c 			IWL_ERR(mvm,
mvm               241 drivers/net/wireless/intel/iwlwifi/mvm/sf.c 		sta = rcu_dereference(mvm->fw_id_to_mac_id[sta_id]);
mvm               243 drivers/net/wireless/intel/iwlwifi/mvm/sf.c 			IWL_ERR(mvm, "Invalid station id\n");
mvm               247 drivers/net/wireless/intel/iwlwifi/mvm/sf.c 		iwl_mvm_fill_sf_command(mvm, &sf_cmd, sta);
mvm               251 drivers/net/wireless/intel/iwlwifi/mvm/sf.c 		iwl_mvm_fill_sf_command(mvm, &sf_cmd, NULL);
mvm               259 drivers/net/wireless/intel/iwlwifi/mvm/sf.c 	ret = iwl_mvm_send_cmd_pdu(mvm, REPLY_SF_CFG_CMD, CMD_ASYNC,
mvm               262 drivers/net/wireless/intel/iwlwifi/mvm/sf.c 		mvm->sf_state = new_state;
mvm               272 drivers/net/wireless/intel/iwlwifi/mvm/sf.c int iwl_mvm_sf_update(struct iwl_mvm *mvm, struct ieee80211_vif *changed_vif,
mvm               288 drivers/net/wireless/intel/iwlwifi/mvm/sf.c 	if (test_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status) ||
mvm               292 drivers/net/wireless/intel/iwlwifi/mvm/sf.c 	ieee80211_iterate_active_interfaces_atomic(mvm->hw,
mvm               332 drivers/net/wireless/intel/iwlwifi/mvm/sf.c 	return iwl_mvm_sf_config(mvm, sta_id, new_state);
mvm                75 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static inline int iwl_mvm_add_sta_cmd_size(struct iwl_mvm *mvm)
mvm                77 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (iwl_mvm_has_new_rx_api(mvm) ||
mvm                78 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	    fw_has_api(&mvm->fw->ucode_capa, IWL_UCODE_TLV_API_STA_TYPE))
mvm                84 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static int iwl_mvm_find_free_sta_id(struct iwl_mvm *mvm,
mvm                91 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	WARN_ON_ONCE(test_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status));
mvm                93 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	lockdep_assert_held(&mvm->mutex);
mvm               100 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	for (sta_id = 0; sta_id < ARRAY_SIZE(mvm->fw_id_to_mac_id); sta_id++) {
mvm               104 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		if (!rcu_dereference_protected(mvm->fw_id_to_mac_id[sta_id],
mvm               105 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 					       lockdep_is_held(&mvm->mutex)))
mvm               112 drivers/net/wireless/intel/iwlwifi/mvm/sta.c int iwl_mvm_sta_send_to_fw(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
mvm               129 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (fw_has_api(&mvm->fw->ucode_capa, IWL_UCODE_TLV_API_STA_TYPE))
mvm               135 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		if (!iwl_mvm_has_new_tx_api(mvm)) {
mvm               233 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	ret = iwl_mvm_send_cmd_pdu_status(mvm, ADD_STA,
mvm               234 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 					  iwl_mvm_add_sta_cmd_size(mvm),
mvm               241 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_DEBUG_ASSOC(mvm, "ADD_STA PASSED\n");
mvm               245 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_ERR(mvm, "ADD_STA failed\n");
mvm               279 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	sta = rcu_dereference(ba_data->mvm->fw_id_to_mac_id[ba_data->sta_id]);
mvm               300 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static int iwl_mvm_invalidate_sta_queue(struct iwl_mvm *mvm, int queue,
mvm               310 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (WARN_ON(iwl_mvm_has_new_tx_api(mvm)))
mvm               313 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	sta_id = mvm->queue_info[queue].ra_sta_id;
mvm               317 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	sta = rcu_dereference(mvm->fw_id_to_mac_id[sta_id]);
mvm               343 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	return iwl_mvm_send_cmd_pdu_status(mvm, ADD_STA,
mvm               344 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 					   iwl_mvm_add_sta_cmd_size(mvm),
mvm               348 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static int iwl_mvm_disable_txq(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
mvm               357 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (iwl_mvm_has_new_tx_api(mvm)) {
mvm               358 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		iwl_trans_txq_free(mvm->trans, queue);
mvm               363 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (WARN_ON(mvm->queue_info[queue].tid_bitmap == 0))
mvm               366 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	mvm->queue_info[queue].tid_bitmap &= ~BIT(tid);
mvm               368 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	cmd.action = mvm->queue_info[queue].tid_bitmap ?
mvm               371 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		mvm->queue_info[queue].status = IWL_MVM_QUEUE_FREE;
mvm               373 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	IWL_DEBUG_TX_QUEUES(mvm,
mvm               376 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			    mvm->queue_info[queue].tid_bitmap);
mvm               382 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	cmd.sta_id = mvm->queue_info[queue].ra_sta_id;
mvm               383 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	cmd.tid = mvm->queue_info[queue].txq_tid;
mvm               386 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	WARN(mvm->queue_info[queue].tid_bitmap,
mvm               388 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	     queue, mvm->queue_info[queue].tid_bitmap);
mvm               391 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	mvm->queue_info[queue].tid_bitmap = 0;
mvm               401 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	mvm->queue_info[queue].reserved = false;
mvm               403 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	iwl_trans_txq_disable(mvm->trans, queue, false);
mvm               404 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	ret = iwl_mvm_send_cmd_pdu(mvm, SCD_QUEUE_CFG, flags,
mvm               408 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_ERR(mvm, "Failed to disable queue %d (ret=%d)\n",
mvm               413 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static int iwl_mvm_get_queue_agg_tids(struct iwl_mvm *mvm, int queue)
mvm               422 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	lockdep_assert_held(&mvm->mutex);
mvm               424 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (WARN_ON(iwl_mvm_has_new_tx_api(mvm)))
mvm               427 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	sta_id = mvm->queue_info[queue].ra_sta_id;
mvm               428 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	tid_bitmap = mvm->queue_info[queue].tid_bitmap;
mvm               430 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	sta = rcu_dereference_protected(mvm->fw_id_to_mac_id[sta_id],
mvm               431 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 					lockdep_is_held(&mvm->mutex));
mvm               453 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static int iwl_mvm_remove_sta_queue_marking(struct iwl_mvm *mvm, int queue)
mvm               462 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	lockdep_assert_held(&mvm->mutex);
mvm               464 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (WARN_ON(iwl_mvm_has_new_tx_api(mvm)))
mvm               467 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	sta_id = mvm->queue_info[queue].ra_sta_id;
mvm               468 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	tid_bitmap = mvm->queue_info[queue].tid_bitmap;
mvm               472 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	sta = rcu_dereference(mvm->fw_id_to_mac_id[sta_id]);
mvm               512 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static int iwl_mvm_free_inactive_queue(struct iwl_mvm *mvm, int queue,
mvm               522 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	lockdep_assert_held(&mvm->mutex);
mvm               524 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (WARN_ON(iwl_mvm_has_new_tx_api(mvm)))
mvm               527 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	sta_id = mvm->queue_info[queue].ra_sta_id;
mvm               528 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	tid = mvm->queue_info[queue].txq_tid;
mvm               532 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	mvmsta = iwl_mvm_sta_from_staid_protected(mvm, sta_id);
mvm               536 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	disable_agg_tids = iwl_mvm_remove_sta_queue_marking(mvm, queue);
mvm               539 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		iwl_mvm_invalidate_sta_queue(mvm, queue,
mvm               542 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	ret = iwl_mvm_disable_txq(mvm, old_sta, queue, tid, 0);
mvm               544 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_ERR(mvm,
mvm               553 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		iwl_mvm_invalidate_sta_queue(mvm, queue, 0, true);
mvm               558 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static int iwl_mvm_get_shared_queue(struct iwl_mvm *mvm,
mvm               569 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	lockdep_assert_held(&mvm->mutex);
mvm               571 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (WARN_ON(iwl_mvm_has_new_tx_api(mvm)))
mvm               583 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		ac_to_queue[mvm->queue_info[i].mac80211_ac] = i;
mvm               616 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (!iwl_mvm_is_dqa_data_queue(mvm, queue) &&
mvm               617 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	    !iwl_mvm_is_dqa_mgmt_queue(mvm, queue) &&
mvm               619 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_ERR(mvm, "No DATA queues available to share\n");
mvm               632 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static int iwl_mvm_redirect_queue(struct iwl_mvm *mvm, int queue, int tid,
mvm               643 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (WARN_ON(iwl_mvm_has_new_tx_api(mvm)))
mvm               654 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (ac <= mvm->queue_info[queue].mac80211_ac && !force) {
mvm               655 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_DEBUG_TX_QUEUES(mvm,
mvm               661 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	cmd.sta_id = mvm->queue_info[queue].ra_sta_id;
mvm               662 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	cmd.tx_fifo = iwl_mvm_ac_to_tx_fifo[mvm->queue_info[queue].mac80211_ac];
mvm               663 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	cmd.tid = mvm->queue_info[queue].txq_tid;
mvm               664 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	shared_queue = hweight16(mvm->queue_info[queue].tid_bitmap) > 1;
mvm               666 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	IWL_DEBUG_TX_QUEUES(mvm, "Redirecting TXQ #%d to FIFO #%d\n",
mvm               672 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	ret = iwl_trans_wait_tx_queues_empty(mvm->trans, BIT(queue));
mvm               674 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_ERR(mvm, "Error draining queue %d before reconfig\n",
mvm               681 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	iwl_trans_txq_disable(mvm->trans, queue, false);
mvm               682 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	ret = iwl_mvm_send_cmd_pdu(mvm, SCD_QUEUE_CFG, 0, sizeof(cmd), &cmd);
mvm               684 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_ERR(mvm, "Failed SCD disable TXQ %d (ret=%d)\n", queue,
mvm               688 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	iwl_trans_txq_enable_cfg(mvm->trans, queue, ssn, NULL, wdg_timeout);
mvm               691 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	mvm->queue_info[queue].txq_tid = tid;
mvm               696 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	iwl_mvm_reconfig_scd(mvm, queue, iwl_mvm_ac_to_tx_fifo[ac],
mvm               700 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	mvm->queue_info[queue].mac80211_ac = ac;
mvm               709 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		iwl_trans_txq_set_shared_mode(mvm->trans, queue, true);
mvm               718 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static int iwl_mvm_find_free_queue(struct iwl_mvm *mvm, u8 sta_id,
mvm               723 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	lockdep_assert_held(&mvm->mutex);
mvm               725 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (WARN(maxq >= mvm->trans->trans_cfg->base_params->num_of_queues,
mvm               727 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		 mvm->trans->trans_cfg->base_params->num_of_queues))
mvm               728 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		maxq = mvm->trans->trans_cfg->base_params->num_of_queues - 1;
mvm               731 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (WARN_ON(iwl_mvm_has_new_tx_api(mvm)))
mvm               736 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		if (mvm->queue_info[i].tid_bitmap == 0 &&
mvm               737 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		    mvm->queue_info[i].status == IWL_MVM_QUEUE_FREE)
mvm               743 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static int iwl_mvm_tvqm_enable_txq(struct iwl_mvm *mvm,
mvm               747 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 				mvm->trans->cfg->min_256_ba_txq_size);
mvm               752 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			     mvm->trans->cfg->min_txq_size);
mvm               754 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	queue = iwl_trans_txq_alloc(mvm->trans,
mvm               759 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_DEBUG_TX_QUEUES(mvm,
mvm               765 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	IWL_DEBUG_TX_QUEUES(mvm, "Enabling TXQ #%d for sta %d tid %d\n",
mvm               768 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	IWL_DEBUG_TX_QUEUES(mvm, "Enabling TXQ #%d\n", queue);
mvm               773 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static int iwl_mvm_sta_alloc_queue_tvqm(struct iwl_mvm *mvm,
mvm               781 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		iwl_mvm_get_wd_timeout(mvm, mvmsta->vif, false, false);
mvm               784 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	lockdep_assert_held(&mvm->mutex);
mvm               786 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	IWL_DEBUG_TX_QUEUES(mvm,
mvm               789 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	queue = iwl_mvm_tvqm_enable_txq(mvm, mvmsta->sta_id, tid, wdg_timeout);
mvm               794 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	mvm->tvqm_info[queue].txq_tid = tid;
mvm               795 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	mvm->tvqm_info[queue].sta_id = mvmsta->sta_id;
mvm               797 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	IWL_DEBUG_TX_QUEUES(mvm, "Allocated queue is %d\n", queue);
mvm               806 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static bool iwl_mvm_update_txq_mapping(struct iwl_mvm *mvm,
mvm               813 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (mvm->queue_info[queue].tid_bitmap & BIT(tid)) {
mvm               814 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_ERR(mvm, "Trying to enable TXQ %d with existing TID %d\n",
mvm               820 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (mvm->queue_info[queue].tid_bitmap)
mvm               823 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	mvm->queue_info[queue].tid_bitmap |= BIT(tid);
mvm               824 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	mvm->queue_info[queue].ra_sta_id = sta_id;
mvm               828 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			mvm->queue_info[queue].mac80211_ac =
mvm               831 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			mvm->queue_info[queue].mac80211_ac = IEEE80211_AC_VO;
mvm               833 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		mvm->queue_info[queue].txq_tid = tid;
mvm               843 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	IWL_DEBUG_TX_QUEUES(mvm,
mvm               845 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			    queue, mvm->queue_info[queue].tid_bitmap);
mvm               850 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static bool iwl_mvm_enable_txq(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
mvm               867 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (WARN_ON(iwl_mvm_has_new_tx_api(mvm)))
mvm               871 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (!iwl_mvm_update_txq_mapping(mvm, sta, queue, cfg->sta_id, cfg->tid))
mvm               874 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	inc_ssn = iwl_trans_txq_enable_cfg(mvm->trans, queue, ssn,
mvm               879 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	WARN(iwl_mvm_send_cmd_pdu(mvm, SCD_QUEUE_CFG, 0, sizeof(cmd), &cmd),
mvm               885 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static void iwl_mvm_change_queue_tid(struct iwl_mvm *mvm, int queue)
mvm               895 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	lockdep_assert_held(&mvm->mutex);
mvm               897 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (WARN_ON(iwl_mvm_has_new_tx_api(mvm)))
mvm               900 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	tid_bitmap = mvm->queue_info[queue].tid_bitmap;
mvm               910 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	ret = iwl_mvm_send_cmd_pdu(mvm, SCD_QUEUE_CFG, 0, sizeof(cmd), &cmd);
mvm               912 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_ERR(mvm, "Failed to update owner of TXQ %d (ret=%d)\n",
mvm               917 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	mvm->queue_info[queue].txq_tid = tid;
mvm               918 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	IWL_DEBUG_TX_QUEUES(mvm, "Changed TXQ %d ownership to tid %d\n",
mvm               922 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static void iwl_mvm_unshare_queue(struct iwl_mvm *mvm, int queue)
mvm               934 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (WARN_ON(iwl_mvm_has_new_tx_api(mvm)))
mvm               937 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	lockdep_assert_held(&mvm->mutex);
mvm               939 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	sta_id = mvm->queue_info[queue].ra_sta_id;
mvm               940 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	tid_bitmap = mvm->queue_info[queue].tid_bitmap;
mvm               945 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_ERR(mvm, "Failed to unshare q %d, active tids=0x%lx\n",
mvm               950 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	IWL_DEBUG_TX_QUEUES(mvm, "Unsharing TXQ %d, keeping tid %d\n", queue,
mvm               953 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	sta = rcu_dereference_protected(mvm->fw_id_to_mac_id[sta_id],
mvm               954 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 					lockdep_is_held(&mvm->mutex));
mvm               960 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	wdg_timeout = iwl_mvm_get_wd_timeout(mvm, mvmsta->vif, false, false);
mvm               964 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	ret = iwl_mvm_redirect_queue(mvm, queue, tid,
mvm               969 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_ERR(mvm, "Failed to redirect TXQ %d\n", queue);
mvm               986 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		ret = iwl_mvm_send_cmd_pdu(mvm, ADD_STA, CMD_ASYNC,
mvm               987 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 					   iwl_mvm_add_sta_cmd_size(mvm), &cmd);
mvm               989 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			IWL_DEBUG_TX_QUEUES(mvm,
mvm               994 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			iwl_trans_txq_set_shared_mode(mvm->trans, queue, false);
mvm               998 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	mvm->queue_info[queue].status = IWL_MVM_QUEUE_READY;
mvm              1008 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static bool iwl_mvm_remove_inactive_tids(struct iwl_mvm *mvm,
mvm              1017 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	lockdep_assert_held(&mvm->mutex);
mvm              1019 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (WARN_ON(iwl_mvm_has_new_tx_api(mvm)))
mvm              1025 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		if (iwl_mvm_tid_queued(mvm, &mvmsta->tid_data[tid]))
mvm              1034 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (tid_bitmap == mvm->queue_info[queue].tid_bitmap) {
mvm              1035 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_DEBUG_TX_QUEUES(mvm, "Queue %d is inactive\n", queue);
mvm              1047 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		mvm->queue_info[queue].tid_bitmap &= ~BIT(tid);
mvm              1049 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		tid_bitmap = mvm->queue_info[queue].tid_bitmap;
mvm              1062 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		if (!(tid_bitmap & BIT(mvm->queue_info[queue].txq_tid)))
mvm              1065 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_DEBUG_TX_QUEUES(mvm,
mvm              1070 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	IWL_DEBUG_TX_QUEUES(mvm,
mvm              1072 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			    mvm->queue_info[queue].tid_bitmap);
mvm              1078 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	tid_bitmap = mvm->queue_info[queue].tid_bitmap;
mvm              1081 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (hweight16(mvm->queue_info[queue].tid_bitmap) == 1 &&
mvm              1082 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	    mvm->queue_info[queue].status == IWL_MVM_QUEUE_SHARED) {
mvm              1083 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_DEBUG_TX_QUEUES(mvm, "Marking Q:%d for reconfig\n",
mvm              1100 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static int iwl_mvm_inactivity_check(struct iwl_mvm *mvm, u8 alloc_for_sta)
mvm              1108 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	lockdep_assert_held(&mvm->mutex);
mvm              1110 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (iwl_mvm_has_new_tx_api(mvm))
mvm              1126 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		queue_tid_bitmap = mvm->queue_info[i].tid_bitmap;
mvm              1131 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		if (mvm->queue_info[i].status != IWL_MVM_QUEUE_READY &&
mvm              1132 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		    mvm->queue_info[i].status != IWL_MVM_QUEUE_SHARED)
mvm              1138 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			if (time_after(mvm->queue_info[i].last_frame_time[tid] +
mvm              1154 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		sta_id = mvm->queue_info[i].ra_sta_id;
mvm              1155 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		sta = rcu_dereference(mvm->fw_id_to_mac_id[sta_id]);
mvm              1168 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		ret = iwl_mvm_remove_inactive_tids(mvm, mvmsta, i,
mvm              1183 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		iwl_mvm_unshare_queue(mvm, i);
mvm              1185 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		iwl_mvm_change_queue_tid(mvm, i);
mvm              1188 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		ret = iwl_mvm_free_inactive_queue(mvm, free_queue, queue_owner,
mvm              1201 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static int iwl_mvm_sta_alloc_queue(struct iwl_mvm *mvm,
mvm              1206 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		.fifo = iwl_mvm_mac_ac_to_tx_fifo(mvm, ac),
mvm              1212 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		iwl_mvm_get_wd_timeout(mvm, mvmsta->vif, false, false);
mvm              1221 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	lockdep_assert_held(&mvm->mutex);
mvm              1223 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (iwl_mvm_has_new_tx_api(mvm))
mvm              1224 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		return iwl_mvm_sta_alloc_queue_tvqm(mvm, sta, ac, tid);
mvm              1232 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		queue = iwl_mvm_find_free_queue(mvm, mvmsta->sta_id,
mvm              1236 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			IWL_DEBUG_TX_QUEUES(mvm, "Found free MGMT queue #%d\n",
mvm              1243 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	    (mvm->queue_info[mvmsta->reserved_queue].status ==
mvm              1246 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		mvm->queue_info[queue].reserved = true;
mvm              1247 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_DEBUG_TX_QUEUES(mvm, "Using reserved queue #%d\n", queue);
mvm              1251 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		queue = iwl_mvm_find_free_queue(mvm, mvmsta->sta_id,
mvm              1256 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		queue = iwl_mvm_inactivity_check(mvm, mvmsta->sta_id);
mvm              1261 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		queue = iwl_mvm_get_shared_queue(mvm, tfd_queue_mask, ac);
mvm              1264 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			mvm->queue_info[queue].status = IWL_MVM_QUEUE_SHARED;
mvm              1275 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		mvm->queue_info[queue].status = IWL_MVM_QUEUE_READY;
mvm              1279 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_ERR(mvm, "No available queues for tid %d on sta_id %d\n",
mvm              1293 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	IWL_DEBUG_TX_QUEUES(mvm,
mvm              1300 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		disable_agg_tids = iwl_mvm_get_queue_agg_tids(mvm, queue);
mvm              1303 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			IWL_DEBUG_TX_QUEUES(mvm, "Disabling aggs on queue %d\n",
mvm              1305 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			iwl_mvm_invalidate_sta_queue(mvm, queue,
mvm              1310 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	inc_ssn = iwl_mvm_enable_txq(mvm, sta, queue, ssn, &cfg, wdg_timeout);
mvm              1319 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		iwl_trans_txq_set_shared_mode(mvm->trans, queue, true);
mvm              1340 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		ret = iwl_mvm_sta_send_to_fw(mvm, sta, true, STA_MODIFY_QUEUES);
mvm              1346 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			ret = iwl_mvm_sta_tx_agg(mvm, sta, tid, queue, true);
mvm              1352 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		ret = iwl_mvm_redirect_queue(mvm, queue, tid, ac, ssn,
mvm              1362 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	iwl_mvm_disable_txq(mvm, sta, queue, tid, 0);
mvm              1377 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	struct iwl_mvm *mvm = container_of(wk, struct iwl_mvm,
mvm              1380 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	mutex_lock(&mvm->mutex);
mvm              1382 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	iwl_mvm_inactivity_check(mvm, IWL_MVM_INVALID_STA);
mvm              1384 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	while (!list_empty(&mvm->add_stream_txqs)) {
mvm              1389 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		mvmtxq = list_first_entry(&mvm->add_stream_txqs,
mvm              1398 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		iwl_mvm_sta_alloc_queue(mvm, txq->sta, txq->ac, tid);
mvm              1401 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		iwl_mvm_mac_itxq_xmit(mvm->hw, txq);
mvm              1405 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	mutex_unlock(&mvm->mutex);
mvm              1408 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static int iwl_mvm_reserve_sta_stream(struct iwl_mvm *mvm,
mvm              1416 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (WARN_ON(iwl_mvm_has_new_tx_api(mvm)))
mvm              1420 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	iwl_mvm_inactivity_check(mvm, IWL_MVM_INVALID_STA);
mvm              1424 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	    !mvm->queue_info[IWL_MVM_DQA_BSS_CLIENT_QUEUE].tid_bitmap &&
mvm              1425 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	    (mvm->queue_info[IWL_MVM_DQA_BSS_CLIENT_QUEUE].status ==
mvm              1429 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		queue = iwl_mvm_find_free_queue(mvm, mvmsta->sta_id,
mvm              1434 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		queue = iwl_mvm_inactivity_check(mvm, mvmsta->sta_id);
mvm              1436 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			IWL_ERR(mvm, "No available queues for new station\n");
mvm              1440 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	mvm->queue_info[queue].status = IWL_MVM_QUEUE_RESERVED;
mvm              1444 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	IWL_DEBUG_TX_QUEUES(mvm, "Reserving data queue #%d for sta_id %d\n",
mvm              1457 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static void iwl_mvm_realloc_queues_after_restart(struct iwl_mvm *mvm,
mvm              1462 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		iwl_mvm_get_wd_timeout(mvm, mvm_sta->vif, false, false);
mvm              1471 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		mvm->queue_info[mvm_sta->reserved_queue].status =
mvm              1484 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		if (iwl_mvm_has_new_tx_api(mvm)) {
mvm              1485 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			IWL_DEBUG_TX_QUEUES(mvm,
mvm              1488 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			txq_id = iwl_mvm_tvqm_enable_txq(mvm, mvm_sta->sta_id,
mvm              1510 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			cfg.fifo = iwl_mvm_mac_ac_to_tx_fifo(mvm, ac);
mvm              1515 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			IWL_DEBUG_TX_QUEUES(mvm,
mvm              1519 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			iwl_mvm_enable_txq(mvm, sta, txq_id, seq, &cfg, wdg);
mvm              1520 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			mvm->queue_info[txq_id].status = IWL_MVM_QUEUE_READY;
mvm              1525 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static int iwl_mvm_add_int_sta_common(struct iwl_mvm *mvm,
mvm              1534 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	lockdep_assert_held(&mvm->mutex);
mvm              1540 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (fw_has_api(&mvm->fw->ucode_capa, IWL_UCODE_TLV_API_STA_TYPE))
mvm              1543 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (!iwl_mvm_has_new_tx_api(mvm))
mvm              1550 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	ret = iwl_mvm_send_cmd_pdu_status(mvm, ADD_STA,
mvm              1551 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 					  iwl_mvm_add_sta_cmd_size(mvm),
mvm              1558 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_DEBUG_INFO(mvm, "Internal station added.\n");
mvm              1562 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_ERR(mvm, "Add internal station failed, status=0x%x\n",
mvm              1569 drivers/net/wireless/intel/iwlwifi/mvm/sta.c int iwl_mvm_add_sta(struct iwl_mvm *mvm,
mvm              1580 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	lockdep_assert_held(&mvm->mutex);
mvm              1582 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (!test_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status))
mvm              1583 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		sta_id = iwl_mvm_find_free_sta_id(mvm,
mvm              1594 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (test_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status)) {
mvm              1604 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		ret = iwl_mvm_add_int_sta_common(mvm, &tmp_sta, sta->addr,
mvm              1609 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		iwl_mvm_realloc_queues_after_restart(mvm, sta);
mvm              1611 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		sta_flags = iwl_mvm_has_new_tx_api(mvm) ? 0 : STA_MODIFY_QUEUES;
mvm              1619 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (!mvm->trans->trans_cfg->gen2)
mvm              1655 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (iwl_mvm_has_new_rx_api(mvm) &&
mvm              1656 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	    !test_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status)) {
mvm              1659 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		dup_data = kcalloc(mvm->trans->num_rx_queues,
mvm              1672 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		for (q = 0; q < mvm->trans->num_rx_queues; q++)
mvm              1678 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (!iwl_mvm_has_new_tx_api(mvm)) {
mvm              1679 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		ret = iwl_mvm_reserve_sta_stream(mvm, sta,
mvm              1689 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (iwl_mvm_has_tlc_offload(mvm))
mvm              1690 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		iwl_mvm_rs_add_sta(mvm, mvm_sta);
mvm              1694 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	iwl_mvm_toggle_tx_ant(mvm, &mvm_sta->tx_ant);
mvm              1697 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	ret = iwl_mvm_sta_send_to_fw(mvm, sta, sta_update, sta_flags);
mvm              1710 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	rcu_assign_pointer(mvm->fw_id_to_mac_id[sta_id], sta);
mvm              1718 drivers/net/wireless/intel/iwlwifi/mvm/sta.c int iwl_mvm_drain_sta(struct iwl_mvm *mvm, struct iwl_mvm_sta *mvmsta,
mvm              1725 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	lockdep_assert_held(&mvm->mutex);
mvm              1734 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	ret = iwl_mvm_send_cmd_pdu_status(mvm, ADD_STA,
mvm              1735 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 					  iwl_mvm_add_sta_cmd_size(mvm),
mvm              1742 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_DEBUG_INFO(mvm, "Frames for staid %d will drained in fw\n",
mvm              1747 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_ERR(mvm, "Couldn't drain frames for staid %d\n",
mvm              1760 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static int iwl_mvm_rm_sta_common(struct iwl_mvm *mvm, u8 sta_id)
mvm              1768 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	sta = rcu_dereference_protected(mvm->fw_id_to_mac_id[sta_id],
mvm              1769 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 					lockdep_is_held(&mvm->mutex));
mvm              1773 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_ERR(mvm, "Invalid station id\n");
mvm              1777 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	ret = iwl_mvm_send_cmd_pdu(mvm, REMOVE_STA, 0,
mvm              1780 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_ERR(mvm, "Failed to remove station. Id=%d\n", sta_id);
mvm              1787 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static void iwl_mvm_disable_sta_queues(struct iwl_mvm *mvm,
mvm              1794 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	lockdep_assert_held(&mvm->mutex);
mvm              1800 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		iwl_mvm_disable_txq(mvm, sta, mvm_sta->tid_data[i].txq_id, i,
mvm              1813 drivers/net/wireless/intel/iwlwifi/mvm/sta.c int iwl_mvm_wait_sta_queues_empty(struct iwl_mvm *mvm,
mvm              1829 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		ret = iwl_trans_wait_txq_empty(mvm->trans, txq_id);
mvm              1837 drivers/net/wireless/intel/iwlwifi/mvm/sta.c int iwl_mvm_rm_sta(struct iwl_mvm *mvm,
mvm              1846 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	lockdep_assert_held(&mvm->mutex);
mvm              1848 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (iwl_mvm_has_new_rx_api(mvm))
mvm              1851 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	ret = iwl_mvm_drain_sta(mvm, mvm_sta, true);
mvm              1856 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	ret = iwl_mvm_flush_sta(mvm, mvm_sta, false, 0);
mvm              1859 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (iwl_mvm_has_new_tx_api(mvm)) {
mvm              1860 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		ret = iwl_mvm_wait_sta_queues_empty(mvm, mvm_sta);
mvm              1864 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		ret = iwl_trans_wait_tx_queues_empty(mvm->trans,
mvm              1870 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	ret = iwl_mvm_drain_sta(mvm, mvm_sta, false);
mvm              1872 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	iwl_mvm_disable_sta_queues(mvm, vif, sta);
mvm              1884 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		status = &mvm->queue_info[reserved_txq].status;
mvm              1908 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (WARN_ON_ONCE(mvm->tdls_cs.peer.sta_id == sta_id)) {
mvm              1909 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		mvm->tdls_cs.peer.sta_id = IWL_MVM_INVALID_STA;
mvm              1910 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		cancel_delayed_work(&mvm->tdls_cs.dwork);
mvm              1920 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	ret = iwl_mvm_rm_sta_common(mvm, mvm_sta->sta_id);
mvm              1921 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	RCU_INIT_POINTER(mvm->fw_id_to_mac_id[mvm_sta->sta_id], NULL);
mvm              1926 drivers/net/wireless/intel/iwlwifi/mvm/sta.c int iwl_mvm_rm_sta_id(struct iwl_mvm *mvm,
mvm              1930 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	int ret = iwl_mvm_rm_sta_common(mvm, sta_id);
mvm              1932 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	lockdep_assert_held(&mvm->mutex);
mvm              1934 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	RCU_INIT_POINTER(mvm->fw_id_to_mac_id[sta_id], NULL);
mvm              1938 drivers/net/wireless/intel/iwlwifi/mvm/sta.c int iwl_mvm_allocate_int_sta(struct iwl_mvm *mvm,
mvm              1943 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (!test_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status) ||
mvm              1945 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		sta->sta_id = iwl_mvm_find_free_sta_id(mvm, iftype);
mvm              1954 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	rcu_assign_pointer(mvm->fw_id_to_mac_id[sta->sta_id], ERR_PTR(-EINVAL));
mvm              1958 drivers/net/wireless/intel/iwlwifi/mvm/sta.c void iwl_mvm_dealloc_int_sta(struct iwl_mvm *mvm, struct iwl_mvm_int_sta *sta)
mvm              1960 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	RCU_INIT_POINTER(mvm->fw_id_to_mac_id[sta->sta_id], NULL);
mvm              1965 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static void iwl_mvm_enable_aux_snif_queue(struct iwl_mvm *mvm, u16 queue,
mvm              1969 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		mvm->trans->trans_cfg->base_params->wd_timeout :
mvm              1979 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	WARN_ON(iwl_mvm_has_new_tx_api(mvm));
mvm              1981 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	iwl_mvm_enable_txq(mvm, NULL, queue, 0, &cfg, wdg_timeout);
mvm              1984 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static int iwl_mvm_enable_aux_snif_queue_tvqm(struct iwl_mvm *mvm, u8 sta_id)
mvm              1987 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		mvm->trans->trans_cfg->base_params->wd_timeout :
mvm              1990 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	WARN_ON(!iwl_mvm_has_new_tx_api(mvm));
mvm              1992 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	return iwl_mvm_tvqm_enable_txq(mvm, sta_id, IWL_MAX_TID_COUNT,
mvm              1996 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static int iwl_mvm_add_int_sta_with_queue(struct iwl_mvm *mvm, int macidx,
mvm              2004 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (!iwl_mvm_has_new_tx_api(mvm))
mvm              2005 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		iwl_mvm_enable_aux_snif_queue(mvm, *queue, sta->sta_id, fifo);
mvm              2007 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	ret = iwl_mvm_add_int_sta_common(mvm, sta, NULL, macidx, maccolor);
mvm              2009 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		if (!iwl_mvm_has_new_tx_api(mvm))
mvm              2010 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			iwl_mvm_disable_txq(mvm, NULL, *queue,
mvm              2019 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (iwl_mvm_has_new_tx_api(mvm)) {
mvm              2022 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		txq = iwl_mvm_enable_aux_snif_queue_tvqm(mvm, sta->sta_id);
mvm              2024 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			iwl_mvm_rm_sta_common(mvm, sta->sta_id);
mvm              2034 drivers/net/wireless/intel/iwlwifi/mvm/sta.c int iwl_mvm_add_aux_sta(struct iwl_mvm *mvm)
mvm              2038 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	lockdep_assert_held(&mvm->mutex);
mvm              2041 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	ret = iwl_mvm_allocate_int_sta(mvm, &mvm->aux_sta, BIT(mvm->aux_queue),
mvm              2047 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	ret = iwl_mvm_add_int_sta_with_queue(mvm, MAC_INDEX_AUX, 0,
mvm              2048 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 					     &mvm->aux_sta, &mvm->aux_queue,
mvm              2051 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		iwl_mvm_dealloc_int_sta(mvm, &mvm->aux_sta);
mvm              2058 drivers/net/wireless/intel/iwlwifi/mvm/sta.c int iwl_mvm_add_snif_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
mvm              2062 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	lockdep_assert_held(&mvm->mutex);
mvm              2064 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	return iwl_mvm_add_int_sta_with_queue(mvm, mvmvif->id, mvmvif->color,
mvm              2065 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 					      &mvm->snif_sta, &mvm->snif_queue,
mvm              2069 drivers/net/wireless/intel/iwlwifi/mvm/sta.c int iwl_mvm_rm_snif_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
mvm              2073 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	lockdep_assert_held(&mvm->mutex);
mvm              2075 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	iwl_mvm_disable_txq(mvm, NULL, mvm->snif_queue, IWL_MAX_TID_COUNT, 0);
mvm              2076 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	ret = iwl_mvm_rm_sta_common(mvm, mvm->snif_sta.sta_id);
mvm              2078 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_WARN(mvm, "Failed sending remove station\n");
mvm              2083 drivers/net/wireless/intel/iwlwifi/mvm/sta.c void iwl_mvm_dealloc_snif_sta(struct iwl_mvm *mvm)
mvm              2085 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	iwl_mvm_dealloc_int_sta(mvm, &mvm->snif_sta);
mvm              2088 drivers/net/wireless/intel/iwlwifi/mvm/sta.c void iwl_mvm_del_aux_sta(struct iwl_mvm *mvm)
mvm              2090 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	lockdep_assert_held(&mvm->mutex);
mvm              2092 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	iwl_mvm_dealloc_int_sta(mvm, &mvm->aux_sta);
mvm              2103 drivers/net/wireless/intel/iwlwifi/mvm/sta.c int iwl_mvm_send_add_bcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
mvm              2112 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		iwl_mvm_get_wd_timeout(mvm, vif, false, false);
mvm              2121 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	lockdep_assert_held(&mvm->mutex);
mvm              2123 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (!iwl_mvm_has_new_tx_api(mvm)) {
mvm              2126 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			queue = mvm->probe_queue;
mvm              2128 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			queue = mvm->p2p_dev_queue;
mvm              2136 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		iwl_mvm_enable_txq(mvm, NULL, queue, 0, &cfg, wdg_timeout);
mvm              2145 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	ret = iwl_mvm_add_int_sta_common(mvm, bsta, baddr,
mvm              2154 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (iwl_mvm_has_new_tx_api(mvm)) {
mvm              2155 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		queue = iwl_mvm_tvqm_enable_txq(mvm, bsta->sta_id,
mvm              2159 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			iwl_mvm_rm_sta_common(mvm, bsta->sta_id);
mvm              2165 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			mvm->probe_queue = queue;
mvm              2167 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			mvm->p2p_dev_queue = queue;
mvm              2173 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static void iwl_mvm_free_bcast_sta_queues(struct iwl_mvm *mvm,
mvm              2179 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	lockdep_assert_held(&mvm->mutex);
mvm              2181 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	iwl_mvm_flush_sta(mvm, &mvmvif->bcast_sta, true, 0);
mvm              2186 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		queue = mvm->probe_queue;
mvm              2189 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		queue = mvm->p2p_dev_queue;
mvm              2197 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	iwl_mvm_disable_txq(mvm, NULL, queue, IWL_MAX_TID_COUNT, 0);
mvm              2198 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (iwl_mvm_has_new_tx_api(mvm))
mvm              2207 drivers/net/wireless/intel/iwlwifi/mvm/sta.c int iwl_mvm_send_rm_bcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
mvm              2212 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	lockdep_assert_held(&mvm->mutex);
mvm              2214 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	iwl_mvm_free_bcast_sta_queues(mvm, vif);
mvm              2216 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	ret = iwl_mvm_rm_sta_common(mvm, mvmvif->bcast_sta.sta_id);
mvm              2218 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_WARN(mvm, "Failed sending remove station\n");
mvm              2222 drivers/net/wireless/intel/iwlwifi/mvm/sta.c int iwl_mvm_alloc_bcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
mvm              2226 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	lockdep_assert_held(&mvm->mutex);
mvm              2228 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	return iwl_mvm_allocate_int_sta(mvm, &mvmvif->bcast_sta, 0,
mvm              2240 drivers/net/wireless/intel/iwlwifi/mvm/sta.c int iwl_mvm_add_p2p_bcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
mvm              2246 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	lockdep_assert_held(&mvm->mutex);
mvm              2248 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	ret = iwl_mvm_alloc_bcast_sta(mvm, vif);
mvm              2252 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	ret = iwl_mvm_send_add_bcast_sta(mvm, vif);
mvm              2255 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		iwl_mvm_dealloc_int_sta(mvm, bsta);
mvm              2260 drivers/net/wireless/intel/iwlwifi/mvm/sta.c void iwl_mvm_dealloc_bcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
mvm              2264 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	iwl_mvm_dealloc_int_sta(mvm, &mvmvif->bcast_sta);
mvm              2271 drivers/net/wireless/intel/iwlwifi/mvm/sta.c int iwl_mvm_rm_p2p_bcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
mvm              2275 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	lockdep_assert_held(&mvm->mutex);
mvm              2277 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	ret = iwl_mvm_send_rm_bcast_sta(mvm, vif);
mvm              2279 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	iwl_mvm_dealloc_bcast_sta(mvm, vif);
mvm              2292 drivers/net/wireless/intel/iwlwifi/mvm/sta.c int iwl_mvm_add_mcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
mvm              2306 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	unsigned int timeout = iwl_mvm_get_wd_timeout(mvm, vif, false, false);
mvm              2309 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	lockdep_assert_held(&mvm->mutex);
mvm              2328 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (!iwl_mvm_has_new_tx_api(mvm) &&
mvm              2329 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	    fw_has_api(&mvm->fw->ucode_capa, IWL_UCODE_TLV_API_STA_TYPE)) {
mvm              2330 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		iwl_mvm_enable_txq(mvm, NULL, mvmvif->cab_queue, 0, &cfg,
mvm              2334 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	ret = iwl_mvm_add_int_sta_common(mvm, msta, maddr,
mvm              2346 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (iwl_mvm_has_new_tx_api(mvm)) {
mvm              2347 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		int queue = iwl_mvm_tvqm_enable_txq(mvm, msta->sta_id,
mvm              2355 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	} else if (!fw_has_api(&mvm->fw->ucode_capa,
mvm              2357 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		iwl_mvm_enable_txq(mvm, NULL, mvmvif->cab_queue, 0, &cfg,
mvm              2362 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	iwl_mvm_dealloc_int_sta(mvm, msta);
mvm              2366 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static int __iwl_mvm_remove_sta_key(struct iwl_mvm *mvm, u8 sta_id,
mvm              2374 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	bool new_api = fw_has_api(&mvm->fw->ucode_capa,
mvm              2403 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	ret = iwl_mvm_send_cmd_pdu_status(mvm, ADD_STA_KEY, size, &u.cmd,
mvm              2408 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_DEBUG_WEP(mvm, "MODIFY_STA: remove sta key passed\n");
mvm              2412 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_ERR(mvm, "MODIFY_STA: remove sta key failed\n");
mvm              2423 drivers/net/wireless/intel/iwlwifi/mvm/sta.c int iwl_mvm_rm_mcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
mvm              2428 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	lockdep_assert_held(&mvm->mutex);
mvm              2430 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	iwl_mvm_flush_sta(mvm, &mvmvif->mcast_sta, true, 0);
mvm              2432 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	iwl_mvm_disable_txq(mvm, NULL, mvmvif->cab_queue, 0, 0);
mvm              2434 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	ret = iwl_mvm_rm_sta_common(mvm, mvmvif->mcast_sta.sta_id);
mvm              2436 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_WARN(mvm, "Failed sending remove station\n");
mvm              2443 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static void iwl_mvm_sync_rxq_del_ba(struct iwl_mvm *mvm, u8 baid)
mvm              2450 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	iwl_mvm_sync_rx_queues_internal(mvm, (void *)&notif, sizeof(notif));
mvm              2453 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static void iwl_mvm_free_reorder(struct iwl_mvm *mvm,
mvm              2458 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	iwl_mvm_sync_rxq_del_ba(mvm, data->baid);
mvm              2460 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	for (i = 0; i < mvm->trans->num_rx_queues; i++) {
mvm              2496 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static void iwl_mvm_init_reorder_buffer(struct iwl_mvm *mvm,
mvm              2502 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	for (i = 0; i < mvm->trans->num_rx_queues; i++) {
mvm              2516 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		reorder_buf->mvm = mvm;
mvm              2524 drivers/net/wireless/intel/iwlwifi/mvm/sta.c int iwl_mvm_sta_rx_agg(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
mvm              2533 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	lockdep_assert_held(&mvm->mutex);
mvm              2535 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (start && mvm->rx_ba_sessions >= IWL_MAX_RX_BA_SESSIONS) {
mvm              2536 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_WARN(mvm, "Not enough RX BA SESSIONS\n");
mvm              2540 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (iwl_mvm_has_new_rx_api(mvm) && start) {
mvm              2567 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 				    mvm->trans->num_rx_queues *
mvm              2595 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	ret = iwl_mvm_send_cmd_pdu_status(mvm, ADD_STA,
mvm              2596 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 					  iwl_mvm_add_sta_cmd_size(mvm),
mvm              2603 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_DEBUG_HT(mvm, "RX BA Session %sed in fw\n",
mvm              2607 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_WARN(mvm, "RX BA Session refused by fw\n");
mvm              2612 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_ERR(mvm, "RX BA Session failed %sing, status 0x%x\n",
mvm              2623 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		mvm->rx_ba_sessions++;
mvm              2625 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		if (!iwl_mvm_has_new_rx_api(mvm))
mvm              2637 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		baid_data->rcu_ptr = &mvm->baid_map[baid];
mvm              2640 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		baid_data->mvm = mvm;
mvm              2649 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		iwl_mvm_init_reorder_buffer(mvm, baid_data, ssn, buf_size);
mvm              2656 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_DEBUG_HT(mvm, "Sta %d(%d) is assigned to BAID %d\n",
mvm              2658 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		WARN_ON(rcu_access_pointer(mvm->baid_map[baid]));
mvm              2659 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		rcu_assign_pointer(mvm->baid_map[baid], baid_data);
mvm              2663 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		if (mvm->rx_ba_sessions > 0)
mvm              2665 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			mvm->rx_ba_sessions--;
mvm              2666 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		if (!iwl_mvm_has_new_rx_api(mvm))
mvm              2672 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		baid_data = rcu_access_pointer(mvm->baid_map[baid]);
mvm              2677 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		iwl_mvm_free_reorder(mvm, baid_data);
mvm              2679 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		RCU_INIT_POINTER(mvm->baid_map[baid], NULL);
mvm              2681 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_DEBUG_HT(mvm, "BAID %d is free\n", baid);
mvm              2690 drivers/net/wireless/intel/iwlwifi/mvm/sta.c int iwl_mvm_sta_tx_agg(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
mvm              2698 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	lockdep_assert_held(&mvm->mutex);
mvm              2711 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (!iwl_mvm_has_new_tx_api(mvm))
mvm              2718 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	ret = iwl_mvm_send_cmd_pdu_status(mvm, ADD_STA,
mvm              2719 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 					  iwl_mvm_add_sta_cmd_size(mvm),
mvm              2729 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_ERR(mvm, "TX BA Session failed %sing, status 0x%x\n",
mvm              2760 drivers/net/wireless/intel/iwlwifi/mvm/sta.c int iwl_mvm_sta_tx_agg_start(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm              2774 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_ERR(mvm,
mvm              2780 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	lockdep_assert_held(&mvm->mutex);
mvm              2783 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	    iwl_mvm_has_new_tx_api(mvm)) {
mvm              2786 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		ret = iwl_mvm_sta_alloc_queue_tvqm(mvm, sta, ac, tid);
mvm              2801 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		ret = iwl_mvm_find_free_queue(mvm, mvmsta->sta_id,
mvm              2805 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			IWL_ERR(mvm, "Failed to allocate agg queue\n");
mvm              2812 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		mvm->queue_info[txq_id].status = IWL_MVM_QUEUE_RESERVED;
mvm              2815 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_ERR(mvm, "tid_id %d out of range (0, %d)!\n",
mvm              2819 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	} else if (unlikely(mvm->queue_info[txq_id].status ==
mvm              2822 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_DEBUG_TX_QUEUES(mvm,
mvm              2828 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	IWL_DEBUG_TX_QUEUES(mvm,
mvm              2837 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	IWL_DEBUG_TX_QUEUES(mvm,
mvm              2847 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (mvm->trans->trans_cfg->gen2)
mvm              2865 drivers/net/wireless/intel/iwlwifi/mvm/sta.c int iwl_mvm_sta_tx_agg_oper(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm              2872 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		iwl_mvm_get_wd_timeout(mvm, vif, sta->tdls, false);
mvm              2889 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (WARN_ON_ONCE(iwl_mvm_has_tlc_offload(mvm)))
mvm              2904 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (iwl_mvm_has_new_tx_api(mvm)) {
mvm              2919 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		ret = iwl_mvm_sta_tx_agg(mvm, sta, tid, queue, true);
mvm              2927 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	queue_status = mvm->queue_info[queue].status;
mvm              2930 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (mvm->queue_info[queue].status == IWL_MVM_QUEUE_READY)
mvm              2942 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		ret = iwl_trans_wait_tx_queues_empty(mvm->trans,
mvm              2945 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			IWL_ERR(mvm,
mvm              2950 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		ret = iwl_mvm_reconfig_scd(mvm, queue, cfg.fifo,
mvm              2954 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			IWL_ERR(mvm,
mvm              2961 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		iwl_mvm_enable_txq(mvm, sta, queue, ssn,
mvm              2966 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		ret = iwl_mvm_sta_tx_agg(mvm, sta, tid, queue, true);
mvm              2972 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	mvm->queue_info[queue].status = IWL_MVM_QUEUE_READY;
mvm              2986 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	IWL_DEBUG_HT(mvm, "Tx aggregation enabled on ra = %pM tid = %d\n",
mvm              2989 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	return iwl_mvm_send_lq_cmd(mvm, &mvmsta->lq_sta.rs_drv.lq);
mvm              2992 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static void iwl_mvm_unreserve_agg_queue(struct iwl_mvm *mvm,
mvm              2998 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	lockdep_assert_held(&mvm->mutex);
mvm              3000 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (iwl_mvm_has_new_tx_api(mvm))
mvm              3010 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (mvm->queue_info[txq_id].status == IWL_MVM_QUEUE_RESERVED) {
mvm              3011 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		mvm->queue_info[txq_id].status = IWL_MVM_QUEUE_FREE;
mvm              3016 drivers/net/wireless/intel/iwlwifi/mvm/sta.c int iwl_mvm_sta_tx_agg_stop(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm              3028 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (test_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status)) {
mvm              3037 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	IWL_DEBUG_TX_QUEUES(mvm, "Stop AGG: sta %d tid %d q %d state %d\n",
mvm              3042 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	iwl_mvm_unreserve_agg_queue(mvm, mvmsta, tid_data);
mvm              3048 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_DEBUG_TX_QUEUES(mvm,
mvm              3058 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		iwl_mvm_sta_tx_agg(mvm, sta, tid, txq_id, false);
mvm              3068 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		lockdep_assert_held(&mvm->mutex);
mvm              3075 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_ERR(mvm,
mvm              3078 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_ERR(mvm,
mvm              3088 drivers/net/wireless/intel/iwlwifi/mvm/sta.c int iwl_mvm_sta_tx_agg_flush(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm              3102 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	IWL_DEBUG_TX_QUEUES(mvm, "Flush AGG: sta %d tid %d q %d state %d\n",
mvm              3109 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	iwl_mvm_unreserve_agg_queue(mvm, mvmsta, tid_data);
mvm              3112 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		iwl_mvm_drain_sta(mvm, mvmsta, true);
mvm              3114 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		if (iwl_mvm_has_new_tx_api(mvm)) {
mvm              3115 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			if (iwl_mvm_flush_sta_tids(mvm, mvmsta->sta_id,
mvm              3117 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 				IWL_ERR(mvm, "Couldn't flush the AGG queue\n");
mvm              3118 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			iwl_trans_wait_txq_empty(mvm->trans, txq_id);
mvm              3120 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			if (iwl_mvm_flush_tx_path(mvm, BIT(txq_id), 0))
mvm              3121 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 				IWL_ERR(mvm, "Couldn't flush the AGG queue\n");
mvm              3122 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			iwl_trans_wait_tx_queues_empty(mvm->trans, BIT(txq_id));
mvm              3125 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		iwl_mvm_drain_sta(mvm, mvmsta, false);
mvm              3127 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		iwl_mvm_sta_tx_agg(mvm, sta, tid, txq_id, false);
mvm              3133 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static int iwl_mvm_set_fw_key_idx(struct iwl_mvm *mvm)
mvm              3137 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	lockdep_assert_held(&mvm->mutex);
mvm              3146 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		if (test_bit(i, mvm->fw_key_table))
mvm              3148 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		if (mvm->fw_key_deleted[i] > max) {
mvm              3149 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			max = mvm->fw_key_deleted[i];
mvm              3160 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static struct iwl_mvm_sta *iwl_mvm_get_key_sta(struct iwl_mvm *mvm,
mvm              3178 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		sta = rcu_dereference_check(mvm->fw_id_to_mac_id[sta_id],
mvm              3179 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 					    lockdep_is_held(&mvm->mutex));
mvm              3195 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static int iwl_mvm_send_sta_key(struct iwl_mvm *mvm,
mvm              3211 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	bool new_api = fw_has_api(&mvm->fw->ucode_capa,
mvm              3288 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		ret = iwl_mvm_send_cmd_pdu(mvm, ADD_STA_KEY, CMD_ASYNC, size,
mvm              3291 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		ret = iwl_mvm_send_cmd_pdu_status(mvm, ADD_STA_KEY, size,
mvm              3296 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_DEBUG_WEP(mvm, "MODIFY_STA: set dynamic key passed\n");
mvm              3300 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_ERR(mvm, "MODIFY_STA: set dynamic key failed\n");
mvm              3307 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static int iwl_mvm_send_sta_igtk(struct iwl_mvm *mvm,
mvm              3321 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (WARN_ON(!iwl_mvm_has_new_rx_api(mvm) &&
mvm              3364 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	IWL_DEBUG_INFO(mvm, "%s igtk for sta %u\n",
mvm              3368 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (!iwl_mvm_has_new_rx_api(mvm)) {
mvm              3378 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		return iwl_mvm_send_cmd_pdu(mvm, MGMT_MCAST_KEY, 0,
mvm              3381 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	return iwl_mvm_send_cmd_pdu(mvm, MGMT_MCAST_KEY, 0,
mvm              3386 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static inline u8 *iwl_mvm_get_mac_addr(struct iwl_mvm *mvm,
mvm              3398 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		sta = rcu_dereference_protected(mvm->fw_id_to_mac_id[sta_id],
mvm              3399 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 						lockdep_is_held(&mvm->mutex));
mvm              3407 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static int __iwl_mvm_set_sta_key(struct iwl_mvm *mvm,
mvm              3432 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_ERR(mvm, "Failed to find station id\n");
mvm              3438 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		addr = iwl_mvm_get_mac_addr(mvm, vif, sta);
mvm              3442 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		ret = iwl_mvm_send_sta_key(mvm, sta_id, keyconf, mcast,
mvm              3451 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		ret = iwl_mvm_send_sta_key(mvm, sta_id, keyconf, mcast,
mvm              3455 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		ret = iwl_mvm_send_sta_key(mvm, sta_id, keyconf, mcast,
mvm              3462 drivers/net/wireless/intel/iwlwifi/mvm/sta.c int iwl_mvm_set_sta_key(struct iwl_mvm *mvm,
mvm              3474 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	lockdep_assert_held(&mvm->mutex);
mvm              3479 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		mvm_sta = iwl_mvm_get_key_sta(mvm, vif, sta);
mvm              3481 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			IWL_ERR(mvm, "Failed to find station\n");
mvm              3493 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 				mvm->fw_id_to_mac_id[sta_id],
mvm              3494 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 				lockdep_is_held(&mvm->mutex));
mvm              3496 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 				IWL_ERR(mvm, "Invalid station id\n");
mvm              3512 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		ret = iwl_mvm_send_sta_igtk(mvm, keyconf, sta_id, false);
mvm              3528 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		key_offset  = iwl_mvm_set_fw_key_idx(mvm);
mvm              3534 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	ret = __iwl_mvm_set_sta_key(mvm, vif, sta, keyconf, key_offset, mcast);
mvm              3547 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		ret = __iwl_mvm_set_sta_key(mvm, vif, sta, keyconf,
mvm              3550 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			__iwl_mvm_remove_sta_key(mvm, sta_id, keyconf, mcast);
mvm              3555 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	__set_bit(key_offset, mvm->fw_key_table);
mvm              3558 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	IWL_DEBUG_WEP(mvm, "key: cipher=%x len=%d idx=%d sta=%pM ret=%d\n",
mvm              3564 drivers/net/wireless/intel/iwlwifi/mvm/sta.c int iwl_mvm_remove_sta_key(struct iwl_mvm *mvm,
mvm              3574 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	lockdep_assert_held(&mvm->mutex);
mvm              3577 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	mvm_sta = iwl_mvm_get_key_sta(mvm, vif, sta);
mvm              3584 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	IWL_DEBUG_WEP(mvm, "mvm remove dynamic key: idx=%d sta=%d\n",
mvm              3590 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		return iwl_mvm_send_sta_igtk(mvm, keyconf, sta_id, true);
mvm              3592 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (!__test_and_clear_bit(keyconf->hw_key_idx, mvm->fw_key_table)) {
mvm              3593 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_ERR(mvm, "offset %d not used in fw key table.\n",
mvm              3600 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		if (mvm->fw_key_deleted[i] < U8_MAX)
mvm              3601 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			mvm->fw_key_deleted[i]++;
mvm              3603 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	mvm->fw_key_deleted[keyconf->hw_key_idx] = 0;
mvm              3606 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_DEBUG_WEP(mvm, "station non-existent, early return.\n");
mvm              3610 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	ret = __iwl_mvm_remove_sta_key(mvm, sta_id, keyconf, mcast);
mvm              3617 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		ret = __iwl_mvm_remove_sta_key(mvm, sta_id, keyconf, !mcast);
mvm              3622 drivers/net/wireless/intel/iwlwifi/mvm/sta.c void iwl_mvm_update_tkip_key(struct iwl_mvm *mvm,
mvm              3634 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	mvm_sta = iwl_mvm_get_key_sta(mvm, vif, sta);
mvm              3637 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	iwl_mvm_send_sta_key(mvm, mvm_sta->sta_id, keyconf, mcast,
mvm              3645 drivers/net/wireless/intel/iwlwifi/mvm/sta.c void iwl_mvm_sta_modify_ps_wake(struct iwl_mvm *mvm,
mvm              3657 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	ret = iwl_mvm_send_cmd_pdu(mvm, ADD_STA, CMD_ASYNC,
mvm              3658 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 				   iwl_mvm_add_sta_cmd_size(mvm), &cmd);
mvm              3660 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_ERR(mvm, "Failed to send ADD_STA command (%d)\n", ret);
mvm              3663 drivers/net/wireless/intel/iwlwifi/mvm/sta.c void iwl_mvm_sta_modify_sleep_tx_count(struct iwl_mvm *mvm,
mvm              3705 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 			n_queued = iwl_mvm_tid_queued(mvm, tid_data);
mvm              3737 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	iwl_trans_block_txq_ptrs(mvm->trans, true);
mvm              3739 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	ret = iwl_mvm_send_cmd_pdu(mvm, ADD_STA,
mvm              3741 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 				   iwl_mvm_add_sta_cmd_size(mvm), &cmd);
mvm              3743 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_ERR(mvm, "Failed to send ADD_STA command (%d)\n", ret);
mvm              3746 drivers/net/wireless/intel/iwlwifi/mvm/sta.c void iwl_mvm_rx_eosp_notif(struct iwl_mvm *mvm,
mvm              3758 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	sta = rcu_dereference(mvm->fw_id_to_mac_id[sta_id]);
mvm              3764 drivers/net/wireless/intel/iwlwifi/mvm/sta.c void iwl_mvm_sta_modify_disable_tx(struct iwl_mvm *mvm,
mvm              3776 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	ret = iwl_mvm_send_cmd_pdu(mvm, ADD_STA, CMD_ASYNC,
mvm              3777 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 				   iwl_mvm_add_sta_cmd_size(mvm), &cmd);
mvm              3779 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_ERR(mvm, "Failed to send ADD_STA command (%d)\n", ret);
mvm              3782 drivers/net/wireless/intel/iwlwifi/mvm/sta.c void iwl_mvm_sta_modify_disable_tx_ap(struct iwl_mvm *mvm,
mvm              3798 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	ieee80211_sta_block_awake(mvm->hw, sta, disable);
mvm              3800 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	iwl_mvm_sta_modify_disable_tx(mvm, mvm_sta, disable);
mvm              3805 drivers/net/wireless/intel/iwlwifi/mvm/sta.c static void iwl_mvm_int_sta_modify_disable_tx(struct iwl_mvm *mvm,
mvm              3820 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	ret = iwl_mvm_send_cmd_pdu(mvm, ADD_STA, 0,
mvm              3821 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 				   iwl_mvm_add_sta_cmd_size(mvm), &cmd);
mvm              3823 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		IWL_ERR(mvm, "Failed to send ADD_STA command (%d)\n", ret);
mvm              3826 drivers/net/wireless/intel/iwlwifi/mvm/sta.c void iwl_mvm_modify_all_sta_disable_tx(struct iwl_mvm *mvm,
mvm              3834 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	lockdep_assert_held(&mvm->mutex);
mvm              3837 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	for (i = 0; i < ARRAY_SIZE(mvm->fw_id_to_mac_id); i++) {
mvm              3838 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		sta = rcu_dereference_protected(mvm->fw_id_to_mac_id[i],
mvm              3839 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 						lockdep_is_held(&mvm->mutex));
mvm              3848 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		iwl_mvm_sta_modify_disable_tx_ap(mvm, sta, disable);
mvm              3851 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (!fw_has_api(&mvm->fw->ucode_capa, IWL_UCODE_TLV_API_STA_TYPE))
mvm              3856 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		iwl_mvm_int_sta_modify_disable_tx(mvm, mvmvif,
mvm              3864 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		iwl_mvm_int_sta_modify_disable_tx(mvm, mvmvif,
mvm              3868 drivers/net/wireless/intel/iwlwifi/mvm/sta.c void iwl_mvm_csa_client_absent(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
mvm              3875 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	mvmsta = iwl_mvm_sta_from_staid_rcu(mvm, mvmvif->ap_sta_id);
mvm              3878 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 		iwl_mvm_sta_modify_disable_tx(mvm, mvmsta, true);
mvm              3883 drivers/net/wireless/intel/iwlwifi/mvm/sta.c u16 iwl_mvm_tid_queued(struct iwl_mvm *mvm, struct iwl_mvm_tid_data *tid_data)
mvm              3891 drivers/net/wireless/intel/iwlwifi/mvm/sta.c 	if (mvm->trans->trans_cfg->gen2)
mvm               456 drivers/net/wireless/intel/iwlwifi/mvm/sta.h u16 iwl_mvm_tid_queued(struct iwl_mvm *mvm, struct iwl_mvm_tid_data *tid_data);
mvm               487 drivers/net/wireless/intel/iwlwifi/mvm/sta.h int iwl_mvm_sta_send_to_fw(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
mvm               489 drivers/net/wireless/intel/iwlwifi/mvm/sta.h int iwl_mvm_add_sta(struct iwl_mvm *mvm,
mvm               493 drivers/net/wireless/intel/iwlwifi/mvm/sta.h static inline int iwl_mvm_update_sta(struct iwl_mvm *mvm,
mvm               497 drivers/net/wireless/intel/iwlwifi/mvm/sta.h 	return iwl_mvm_sta_send_to_fw(mvm, sta, true, 0);
mvm               500 drivers/net/wireless/intel/iwlwifi/mvm/sta.h int iwl_mvm_wait_sta_queues_empty(struct iwl_mvm *mvm,
mvm               502 drivers/net/wireless/intel/iwlwifi/mvm/sta.h int iwl_mvm_rm_sta(struct iwl_mvm *mvm,
mvm               505 drivers/net/wireless/intel/iwlwifi/mvm/sta.h int iwl_mvm_rm_sta_id(struct iwl_mvm *mvm,
mvm               508 drivers/net/wireless/intel/iwlwifi/mvm/sta.h int iwl_mvm_set_sta_key(struct iwl_mvm *mvm,
mvm               513 drivers/net/wireless/intel/iwlwifi/mvm/sta.h int iwl_mvm_remove_sta_key(struct iwl_mvm *mvm,
mvm               518 drivers/net/wireless/intel/iwlwifi/mvm/sta.h void iwl_mvm_update_tkip_key(struct iwl_mvm *mvm,
mvm               524 drivers/net/wireless/intel/iwlwifi/mvm/sta.h void iwl_mvm_rx_eosp_notif(struct iwl_mvm *mvm,
mvm               528 drivers/net/wireless/intel/iwlwifi/mvm/sta.h int iwl_mvm_sta_rx_agg(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
mvm               530 drivers/net/wireless/intel/iwlwifi/mvm/sta.h int iwl_mvm_sta_tx_agg_start(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm               532 drivers/net/wireless/intel/iwlwifi/mvm/sta.h int iwl_mvm_sta_tx_agg_oper(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm               535 drivers/net/wireless/intel/iwlwifi/mvm/sta.h int iwl_mvm_sta_tx_agg_stop(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm               537 drivers/net/wireless/intel/iwlwifi/mvm/sta.h int iwl_mvm_sta_tx_agg_flush(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm               540 drivers/net/wireless/intel/iwlwifi/mvm/sta.h int iwl_mvm_sta_tx_agg(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
mvm               543 drivers/net/wireless/intel/iwlwifi/mvm/sta.h int iwl_mvm_add_aux_sta(struct iwl_mvm *mvm);
mvm               544 drivers/net/wireless/intel/iwlwifi/mvm/sta.h void iwl_mvm_del_aux_sta(struct iwl_mvm *mvm);
mvm               546 drivers/net/wireless/intel/iwlwifi/mvm/sta.h int iwl_mvm_alloc_bcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif);
mvm               547 drivers/net/wireless/intel/iwlwifi/mvm/sta.h int iwl_mvm_send_add_bcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif);
mvm               548 drivers/net/wireless/intel/iwlwifi/mvm/sta.h int iwl_mvm_add_p2p_bcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif);
mvm               549 drivers/net/wireless/intel/iwlwifi/mvm/sta.h int iwl_mvm_send_rm_bcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif);
mvm               550 drivers/net/wireless/intel/iwlwifi/mvm/sta.h int iwl_mvm_rm_p2p_bcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif);
mvm               551 drivers/net/wireless/intel/iwlwifi/mvm/sta.h int iwl_mvm_add_mcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif);
mvm               552 drivers/net/wireless/intel/iwlwifi/mvm/sta.h int iwl_mvm_rm_mcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif);
mvm               553 drivers/net/wireless/intel/iwlwifi/mvm/sta.h int iwl_mvm_allocate_int_sta(struct iwl_mvm *mvm,
mvm               557 drivers/net/wireless/intel/iwlwifi/mvm/sta.h void iwl_mvm_dealloc_bcast_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif);
mvm               558 drivers/net/wireless/intel/iwlwifi/mvm/sta.h void iwl_mvm_dealloc_int_sta(struct iwl_mvm *mvm, struct iwl_mvm_int_sta *sta);
mvm               559 drivers/net/wireless/intel/iwlwifi/mvm/sta.h int iwl_mvm_add_snif_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif);
mvm               560 drivers/net/wireless/intel/iwlwifi/mvm/sta.h int iwl_mvm_rm_snif_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif);
mvm               561 drivers/net/wireless/intel/iwlwifi/mvm/sta.h void iwl_mvm_dealloc_snif_sta(struct iwl_mvm *mvm);
mvm               563 drivers/net/wireless/intel/iwlwifi/mvm/sta.h void iwl_mvm_sta_modify_ps_wake(struct iwl_mvm *mvm,
mvm               565 drivers/net/wireless/intel/iwlwifi/mvm/sta.h void iwl_mvm_sta_modify_sleep_tx_count(struct iwl_mvm *mvm,
mvm               570 drivers/net/wireless/intel/iwlwifi/mvm/sta.h int iwl_mvm_drain_sta(struct iwl_mvm *mvm, struct iwl_mvm_sta *mvmsta,
mvm               572 drivers/net/wireless/intel/iwlwifi/mvm/sta.h void iwl_mvm_sta_modify_disable_tx(struct iwl_mvm *mvm,
mvm               574 drivers/net/wireless/intel/iwlwifi/mvm/sta.h void iwl_mvm_sta_modify_disable_tx_ap(struct iwl_mvm *mvm,
mvm               577 drivers/net/wireless/intel/iwlwifi/mvm/sta.h void iwl_mvm_modify_all_sta_disable_tx(struct iwl_mvm *mvm,
mvm               580 drivers/net/wireless/intel/iwlwifi/mvm/sta.h void iwl_mvm_csa_client_absent(struct iwl_mvm *mvm, struct ieee80211_vif *vif);
mvm                72 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c void iwl_mvm_teardown_tdls_peers(struct iwl_mvm *mvm)
mvm                78 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	lockdep_assert_held(&mvm->mutex);
mvm                80 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	for (i = 0; i < ARRAY_SIZE(mvm->fw_id_to_mac_id); i++) {
mvm                81 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 		sta = rcu_dereference_protected(mvm->fw_id_to_mac_id[i],
mvm                82 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 						lockdep_is_held(&mvm->mutex));
mvm                94 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c int iwl_mvm_tdls_sta_count(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
mvm               101 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	lockdep_assert_held(&mvm->mutex);
mvm               103 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	for (i = 0; i < ARRAY_SIZE(mvm->fw_id_to_mac_id); i++) {
mvm               104 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 		sta = rcu_dereference_protected(mvm->fw_id_to_mac_id[i],
mvm               105 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 						lockdep_is_held(&mvm->mutex));
mvm               121 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c static void iwl_mvm_tdls_config(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
mvm               136 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	lockdep_assert_held(&mvm->mutex);
mvm               147 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	for (i = 0; i < ARRAY_SIZE(mvm->fw_id_to_mac_id); i++) {
mvm               148 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 		sta = rcu_dereference_protected(mvm->fw_id_to_mac_id[i],
mvm               149 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 						lockdep_is_held(&mvm->mutex));
mvm               164 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	IWL_DEBUG_TDLS(mvm, "send TDLS config to FW for %d peers\n", cnt);
mvm               166 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	ret = iwl_mvm_send_cmd(mvm, &cmd);
mvm               179 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c void iwl_mvm_recalc_tdls_state(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm               182 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	int tdls_sta_cnt = iwl_mvm_tdls_sta_count(mvm, vif);
mvm               186 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 		iwl_mvm_power_update_mac(mvm);
mvm               193 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	if (fw_has_capa(&mvm->fw->ucode_capa,
mvm               195 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 		iwl_mvm_tdls_config(mvm, vif);
mvm               199 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 		iwl_mvm_power_update_mac(mvm);
mvm               205 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm               208 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	mutex_lock(&mvm->mutex);
mvm               210 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	iwl_mvm_protect_session(mvm, vif, duration, duration, 100, true);
mvm               211 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	mutex_unlock(&mvm->mutex);
mvm               233 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c static void iwl_mvm_tdls_update_cs_state(struct iwl_mvm *mvm,
mvm               236 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	if (mvm->tdls_cs.state == state)
mvm               239 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	IWL_DEBUG_TDLS(mvm, "TDLS channel switch state: %s -> %s\n",
mvm               240 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 		       iwl_mvm_tdls_cs_state_str(mvm->tdls_cs.state),
mvm               242 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	mvm->tdls_cs.state = state;
mvm               246 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 		mvm->tdls_cs.peer.sent_timestamp = iwl_mvm_get_systime(mvm);
mvm               249 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 		mvm->tdls_cs.cur_sta_id = IWL_MVM_INVALID_STA;
mvm               252 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c void iwl_mvm_rx_tdls_notif(struct iwl_mvm *mvm, struct iwl_rx_cmd_buffer *rxb)
mvm               262 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	lockdep_assert_held(&mvm->mutex);
mvm               266 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 		iwl_mvm_tdls_update_cs_state(mvm, IWL_MVM_TDLS_SW_IDLE);
mvm               273 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	sta = rcu_dereference_protected(mvm->fw_id_to_mac_id[sta_id],
mvm               274 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 					lockdep_is_held(&mvm->mutex));
mvm               287 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	mod_delayed_work(system_wq, &mvm->tdls_cs.dwork,
mvm               290 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	iwl_mvm_tdls_update_cs_state(mvm, IWL_MVM_TDLS_SW_ACTIVE);
mvm               294 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c iwl_mvm_tdls_check_action(struct iwl_mvm *mvm,
mvm               302 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	if (mvm->tdls_cs.state != IWL_MVM_TDLS_SW_IDLE &&
mvm               303 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	    mvm->tdls_cs.cur_sta_id != IWL_MVM_INVALID_STA) {
mvm               305 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 				mvm->fw_id_to_mac_id[mvm->tdls_cs.cur_sta_id],
mvm               306 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 				lockdep_is_held(&mvm->mutex));
mvm               311 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	switch (mvm->tdls_cs.state) {
mvm               335 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 		else if (timestamp <= mvm->tdls_cs.peer.sent_timestamp)
mvm               368 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 		IWL_DEBUG_TDLS(mvm,
mvm               370 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 			       type, mvm->tdls_cs.state, peer, same_peer,
mvm               377 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c iwl_mvm_tdls_config_channel_switch(struct iwl_mvm *mvm,
mvm               393 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 		iwl_mvm_chan_info_cmd_tail(mvm, &cmd.ci);
mvm               394 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	u16 len = sizeof(cmd) - iwl_mvm_chan_info_padding(mvm);
mvm               397 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	lockdep_assert_held(&mvm->mutex);
mvm               399 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	ret = iwl_mvm_tdls_check_action(mvm, type, peer, peer_initiator,
mvm               425 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 		if (mvm->tdls_cs.state == IWL_MVM_TDLS_SW_REQ_SENT &&
mvm               426 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 		    mvm->tdls_cs.peer.chandef.chan) {
mvm               428 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 			chandef = &mvm->tdls_cs.peer.chandef;
mvm               429 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 		} else if (mvm->tdls_cs.state == IWL_MVM_TDLS_SW_ACTIVE &&
mvm               445 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 		iwl_mvm_set_chan_info_chandef(mvm, &cmd.ci, chandef);
mvm               466 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	iwl_mvm_set_tx_cmd(mvm, skb, &tail->frame.tx_cmd, info,
mvm               469 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	iwl_mvm_set_tx_cmd_rate(mvm, &tail->frame.tx_cmd, info, sta,
mvm               475 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	ret = iwl_mvm_send_cmd_pdu(mvm, TDLS_CHANNEL_SWITCH_CMD, 0, len, &cmd);
mvm               477 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 		IWL_ERR(mvm, "Failed to send TDLS_CHANNEL_SWITCH cmd: %d\n",
mvm               484 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 		mvm->tdls_cs.cur_sta_id = mvmsta->sta_id;
mvm               485 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 		iwl_mvm_tdls_update_cs_state(mvm,
mvm               490 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 		iwl_mvm_tdls_update_cs_state(mvm, IWL_MVM_TDLS_SW_RESP_RCVD);
mvm               497 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 		iwl_mvm_tdls_update_cs_state(mvm, IWL_MVM_TDLS_SW_IDLE);
mvm               504 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	struct iwl_mvm *mvm;
mvm               511 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	mvm = container_of(work, struct iwl_mvm, tdls_cs.dwork.work);
mvm               512 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	mutex_lock(&mvm->mutex);
mvm               515 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	iwl_mvm_tdls_update_cs_state(mvm, IWL_MVM_TDLS_SW_IDLE);
mvm               518 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	if (mvm->tdls_cs.peer.sta_id == IWL_MVM_INVALID_STA)
mvm               522 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 				mvm->fw_id_to_mac_id[mvm->tdls_cs.peer.sta_id],
mvm               523 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 				lockdep_is_held(&mvm->mutex));
mvm               530 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	ret = iwl_mvm_tdls_config_channel_switch(mvm, vif,
mvm               533 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 						 mvm->tdls_cs.peer.initiator,
mvm               534 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 						 mvm->tdls_cs.peer.op_class,
mvm               535 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 						 &mvm->tdls_cs.peer.chandef,
mvm               537 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 						 mvm->tdls_cs.peer.skb,
mvm               538 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 						 mvm->tdls_cs.peer.ch_sw_tm_ie);
mvm               540 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 		IWL_ERR(mvm, "Not sending TDLS channel switch: %d\n", ret);
mvm               544 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	schedule_delayed_work(&mvm->tdls_cs.dwork, msecs_to_jiffies(delay));
mvm               546 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	mutex_unlock(&mvm->mutex);
mvm               556 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm               561 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	mutex_lock(&mvm->mutex);
mvm               563 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	IWL_DEBUG_TDLS(mvm, "TDLS channel switch with %pM ch %d width %d\n",
mvm               567 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	if (mvm->tdls_cs.peer.sta_id != IWL_MVM_INVALID_STA) {
mvm               568 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 		IWL_DEBUG_TDLS(mvm,
mvm               575 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	ret = iwl_mvm_tdls_config_channel_switch(mvm, vif,
mvm               587 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	mvm->tdls_cs.peer.skb = skb_copy(tmpl_skb, GFP_KERNEL);
mvm               588 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	if (!mvm->tdls_cs.peer.skb) {
mvm               594 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	mvm->tdls_cs.peer.sta_id = mvmsta->sta_id;
mvm               595 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	mvm->tdls_cs.peer.chandef = *chandef;
mvm               596 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	mvm->tdls_cs.peer.initiator = sta->tdls_initiator;
mvm               597 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	mvm->tdls_cs.peer.op_class = oper_class;
mvm               598 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	mvm->tdls_cs.peer.ch_sw_tm_ie = ch_sw_tm_ie;
mvm               606 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	mod_delayed_work(system_wq, &mvm->tdls_cs.dwork,
mvm               610 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	mutex_unlock(&mvm->mutex);
mvm               618 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm               622 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	mutex_lock(&mvm->mutex);
mvm               624 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	IWL_DEBUG_TDLS(mvm, "TDLS cancel channel switch with %pM\n", sta->addr);
mvm               627 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	if (mvm->tdls_cs.peer.sta_id == IWL_MVM_INVALID_STA) {
mvm               628 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 		IWL_DEBUG_TDLS(mvm, "No ch switch peer - %pM\n", sta->addr);
mvm               633 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 				mvm->fw_id_to_mac_id[mvm->tdls_cs.peer.sta_id],
mvm               634 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 				lockdep_is_held(&mvm->mutex));
mvm               644 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	if (mvm->tdls_cs.cur_sta_id == mvm->tdls_cs.peer.sta_id &&
mvm               645 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	    mvm->tdls_cs.state != IWL_MVM_TDLS_SW_IDLE)
mvm               648 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	mvm->tdls_cs.peer.sta_id = IWL_MVM_INVALID_STA;
mvm               649 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	dev_kfree_skb(mvm->tdls_cs.peer.skb);
mvm               650 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	mvm->tdls_cs.peer.skb = NULL;
mvm               653 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	mutex_unlock(&mvm->mutex);
mvm               661 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	flush_delayed_work(&mvm->tdls_cs.dwork);
mvm               663 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	IWL_DEBUG_TDLS(mvm, "TDLS ending channel switch with %pM\n", sta->addr);
mvm               671 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
mvm               678 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	mutex_lock(&mvm->mutex);
mvm               680 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	IWL_DEBUG_TDLS(mvm,
mvm               690 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	    mvm->tdls_cs.state == IWL_MVM_TDLS_SW_REQ_SENT &&
mvm               691 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	    mvm->tdls_cs.cur_sta_id != IWL_MVM_INVALID_STA) {
mvm               696 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 				mvm->fw_id_to_mac_id[mvm->tdls_cs.cur_sta_id],
mvm               697 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 				lockdep_is_held(&mvm->mutex));
mvm               699 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 			iwl_mvm_tdls_update_cs_state(mvm,
mvm               708 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	iwl_mvm_tdls_config_channel_switch(mvm, vif, type, params->sta->addr,
mvm               720 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	mod_delayed_work(system_wq, &mvm->tdls_cs.dwork,
mvm               722 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c 	mutex_unlock(&mvm->mutex);
mvm                83 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c void iwl_mvm_te_clear_data(struct iwl_mvm *mvm,
mvm                86 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	lockdep_assert_held(&mvm->time_event_lock);
mvm               100 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	struct iwl_mvm *mvm = container_of(wk, struct iwl_mvm, roc_done_wk);
mvm               109 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	clear_bit(IWL_MVM_STATUS_ROC_RUNNING, &mvm->status);
mvm               110 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	clear_bit(IWL_MVM_STATUS_ROC_AUX_RUNNING, &mvm->status);
mvm               124 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	iwl_mvm_flush_sta(mvm, &mvm->aux_sta, true, CMD_ASYNC);
mvm               127 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	if (test_and_clear_bit(IWL_MVM_STATUS_NEED_FLUSH_P2P, &mvm->status)) {
mvm               137 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		if (!WARN_ON(!mvm->p2p_device_vif)) {
mvm               138 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 			mvmvif = iwl_mvm_vif_from_mac80211(mvm->p2p_device_vif);
mvm               139 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 			iwl_mvm_flush_sta(mvm, &mvmvif->bcast_sta, true,
mvm               145 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c static void iwl_mvm_roc_finished(struct iwl_mvm *mvm)
mvm               154 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	schedule_work(&mvm->roc_done_wk);
mvm               157 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c static void iwl_mvm_csa_noa_start(struct iwl_mvm *mvm)
mvm               163 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	csa_vif = rcu_dereference(mvm->csa_vif);
mvm               167 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	IWL_DEBUG_TE(mvm, "CSA NOA started\n");
mvm               176 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		IWL_WARN(mvm, "CSA NOA started too early\n");
mvm               184 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	RCU_INIT_POINTER(mvm->csa_vif, NULL);
mvm               192 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c static bool iwl_mvm_te_check_disconnect(struct iwl_mvm *mvm,
mvm               205 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		IWL_ERR(mvm, "%s\n", errmsg);
mvm               207 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	iwl_mvm_connection_loss(mvm, vif, errmsg);
mvm               212 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c iwl_mvm_te_handle_notify_csa(struct iwl_mvm *mvm,
mvm               220 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		IWL_DEBUG_TE(mvm, "CSA time event failed to start\n");
mvm               226 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		iwl_mvm_csa_noa_start(mvm);
mvm               230 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 			iwl_mvm_connection_loss(mvm, vif,
mvm               234 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		iwl_mvm_csa_client_absent(mvm, te_data->vif);
mvm               245 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	iwl_mvm_te_clear_data(mvm, te_data);
mvm               248 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c static void iwl_mvm_te_check_trigger(struct iwl_mvm *mvm,
mvm               256 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	trig = iwl_fw_dbg_trigger_on(&mvm->fwrt,
mvm               276 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		iwl_fw_dbg_collect_trig(&mvm->fwrt, trig,
mvm               292 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c static void iwl_mvm_te_handle_notif(struct iwl_mvm *mvm,
mvm               296 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	lockdep_assert_held(&mvm->time_event_lock);
mvm               298 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	IWL_DEBUG_TE(mvm, "Handle time event notif - UID = 0x%x action %d\n",
mvm               302 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	iwl_mvm_te_check_trigger(mvm, notif, te_data);
mvm               320 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		IWL_DEBUG_TE(mvm, "%s\n", msg);
mvm               322 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		if (iwl_mvm_te_check_disconnect(mvm, te_data->vif, msg)) {
mvm               323 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 			iwl_mvm_te_clear_data(mvm, te_data);
mvm               329 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		IWL_DEBUG_TE(mvm,
mvm               335 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 			ieee80211_remain_on_channel_expired(mvm->hw);
mvm               336 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 			set_bit(IWL_MVM_STATUS_NEED_FLUSH_P2P, &mvm->status);
mvm               337 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 			iwl_mvm_roc_finished(mvm);
mvm               344 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 			iwl_mvm_te_check_disconnect(mvm, te_data->vif,
mvm               351 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		iwl_mvm_te_clear_data(mvm, te_data);
mvm               357 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 			set_bit(IWL_MVM_STATUS_ROC_RUNNING, &mvm->status);
mvm               358 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 			ieee80211_ready_on_channel(mvm->hw);
mvm               360 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 			iwl_mvm_te_handle_notify_csa(mvm, te_data, notif);
mvm               363 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		IWL_WARN(mvm, "Got TE with unknown action\n");
mvm               370 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c static int iwl_mvm_aux_roc_te_handle_notif(struct iwl_mvm *mvm,
mvm               376 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	list_for_each_entry_safe(te_data, tmp, &mvm->aux_roc_te_list, list) {
mvm               385 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	iwl_mvm_te_check_trigger(mvm, notif, te_data);
mvm               387 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	IWL_DEBUG_TE(mvm,
mvm               395 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		ieee80211_remain_on_channel_expired(mvm->hw);
mvm               396 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		iwl_mvm_roc_finished(mvm); /* flush aux queue */
mvm               403 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		set_bit(IWL_MVM_STATUS_ROC_AUX_RUNNING, &mvm->status);
mvm               405 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		ieee80211_ready_on_channel(mvm->hw); /* Start TE */
mvm               407 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		IWL_DEBUG_TE(mvm,
mvm               419 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c void iwl_mvm_rx_time_event_notif(struct iwl_mvm *mvm,
mvm               426 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	IWL_DEBUG_TE(mvm, "Time event notification - UID = 0x%x action %d\n",
mvm               430 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	spin_lock_bh(&mvm->time_event_lock);
mvm               432 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	if (!iwl_mvm_aux_roc_te_handle_notif(mvm, notif))
mvm               435 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	list_for_each_entry_safe(te_data, tmp, &mvm->time_event_list, list) {
mvm               437 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 			iwl_mvm_te_handle_notif(mvm, te_data, notif);
mvm               440 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	spin_unlock_bh(&mvm->time_event_lock);
mvm               446 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	struct iwl_mvm *mvm =
mvm               456 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		IWL_ERR(mvm, "Invalid TIME_EVENT_NOTIFICATION response\n");
mvm               466 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	IWL_DEBUG_TE(mvm, "TIME_EVENT_NOTIFICATION response - UID = 0x%x\n",
mvm               469 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		IWL_ERR(mvm,
mvm               478 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	struct iwl_mvm *mvm =
mvm               488 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		IWL_ERR(mvm, "Invalid TIME_EVENT_CMD response\n");
mvm               499 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	IWL_DEBUG_TE(mvm, "TIME_EVENT_CMD response - UID = 0x%x\n",
mvm               504 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c static int iwl_mvm_time_event_send_add(struct iwl_mvm *mvm,
mvm               513 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	lockdep_assert_held(&mvm->mutex);
mvm               515 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	IWL_DEBUG_TE(mvm, "Add new TE, duration %d TU\n",
mvm               518 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	spin_lock_bh(&mvm->time_event_lock);
mvm               520 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		spin_unlock_bh(&mvm->time_event_lock);
mvm               526 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	list_add_tail(&te_data->list, &mvm->time_event_list);
mvm               527 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	spin_unlock_bh(&mvm->time_event_lock);
mvm               538 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	iwl_init_notification_wait(&mvm->notif_wait, &wait_time_event,
mvm               543 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	ret = iwl_mvm_send_cmd_pdu(mvm, TIME_EVENT_CMD, 0,
mvm               546 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		IWL_ERR(mvm, "Couldn't send TIME_EVENT_CMD: %d\n", ret);
mvm               547 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		iwl_remove_notification(&mvm->notif_wait, &wait_time_event);
mvm               552 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	ret = iwl_wait_notification(&mvm->notif_wait, &wait_time_event, 1);
mvm               558 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		spin_lock_bh(&mvm->time_event_lock);
mvm               559 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		iwl_mvm_te_clear_data(mvm, te_data);
mvm               560 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		spin_unlock_bh(&mvm->time_event_lock);
mvm               565 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c void iwl_mvm_protect_session(struct iwl_mvm *mvm,
mvm               576 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	lockdep_assert_held(&mvm->mutex);
mvm               580 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		IWL_DEBUG_TE(mvm, "We have enough time in the current TE: %u\n",
mvm               586 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		IWL_DEBUG_TE(mvm, "extend 0x%x: only %u ms left\n",
mvm               597 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		iwl_mvm_stop_session_protection(mvm, vif);
mvm               618 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		iwl_mvm_time_event_send_add(mvm, vif, te_data, &time_cmd);
mvm               626 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	iwl_init_notification_wait(&mvm->notif_wait, &wait_te_notif,
mvm               632 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	if (iwl_mvm_time_event_send_add(mvm, vif, te_data, &time_cmd)) {
mvm               633 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		IWL_ERR(mvm, "Failed to add TE to protect session\n");
mvm               634 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		iwl_remove_notification(&mvm->notif_wait, &wait_te_notif);
mvm               635 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	} else if (iwl_wait_notification(&mvm->notif_wait, &wait_te_notif,
mvm               637 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		IWL_ERR(mvm, "Failed to protect session until TE\n");
mvm               641 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c static bool __iwl_mvm_remove_time_event(struct iwl_mvm *mvm,
mvm               651 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	spin_lock_bh(&mvm->time_event_lock);
mvm               660 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	iwl_mvm_te_clear_data(mvm, te_data);
mvm               661 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	spin_unlock_bh(&mvm->time_event_lock);
mvm               669 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		IWL_DEBUG_TE(mvm, "TE 0x%x has already ended\n", *uid);
mvm               682 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c static void iwl_mvm_remove_aux_roc_te(struct iwl_mvm *mvm,
mvm               687 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	u16 len = sizeof(aux_cmd) - iwl_mvm_chan_info_padding(mvm);
mvm               692 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	if (!__iwl_mvm_remove_time_event(mvm, te_data, &uid))
mvm               699 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	IWL_DEBUG_TE(mvm, "Removing BSS AUX ROC TE 0x%x\n",
mvm               701 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	ret = iwl_mvm_send_cmd_pdu(mvm, HOT_SPOT_CMD, 0,
mvm               713 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c void iwl_mvm_remove_time_event(struct iwl_mvm *mvm,
mvm               721 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	if (!__iwl_mvm_remove_time_event(mvm, te_data, &uid))
mvm               730 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	IWL_DEBUG_TE(mvm, "Removing TE 0x%x\n", le32_to_cpu(time_cmd.id));
mvm               731 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	ret = iwl_mvm_send_cmd_pdu(mvm, TIME_EVENT_CMD, 0,
mvm               737 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c void iwl_mvm_stop_session_protection(struct iwl_mvm *mvm,
mvm               744 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	lockdep_assert_held(&mvm->mutex);
mvm               746 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	spin_lock_bh(&mvm->time_event_lock);
mvm               748 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	spin_unlock_bh(&mvm->time_event_lock);
mvm               751 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		IWL_DEBUG_TE(mvm,
mvm               757 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	iwl_mvm_remove_time_event(mvm, mvmvif, te_data);
mvm               760 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c int iwl_mvm_start_p2p_roc(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm               767 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	lockdep_assert_held(&mvm->mutex);
mvm               769 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		IWL_WARN(mvm, "P2P_DEVICE remain on channel already running\n");
mvm               806 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	return iwl_mvm_time_event_send_add(mvm, vif, te_data, &time_cmd);
mvm               809 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c static struct iwl_mvm_time_event_data *iwl_mvm_get_roc_te(struct iwl_mvm *mvm)
mvm               813 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	lockdep_assert_held(&mvm->mutex);
mvm               815 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	spin_lock_bh(&mvm->time_event_lock);
mvm               824 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	list_for_each_entry(te_data, &mvm->time_event_list, list) {
mvm               832 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	te_data = list_first_entry_or_null(&mvm->aux_roc_te_list,
mvm               836 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	spin_unlock_bh(&mvm->time_event_lock);
mvm               840 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c void iwl_mvm_cleanup_roc_te(struct iwl_mvm *mvm)
mvm               845 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	te_data = iwl_mvm_get_roc_te(mvm);
mvm               847 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		__iwl_mvm_remove_time_event(mvm, te_data, &uid);
mvm               850 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c void iwl_mvm_stop_roc(struct iwl_mvm *mvm)
mvm               855 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	te_data = iwl_mvm_get_roc_te(mvm);
mvm               857 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		IWL_WARN(mvm, "No remain on channel event\n");
mvm               864 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		iwl_mvm_remove_time_event(mvm, mvmvif, te_data);
mvm               865 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		set_bit(IWL_MVM_STATUS_NEED_FLUSH_P2P, &mvm->status);
mvm               867 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		iwl_mvm_remove_aux_roc_te(mvm, mvmvif, te_data);
mvm               870 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	iwl_mvm_roc_finished(mvm);
mvm               873 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c int iwl_mvm_schedule_csa_period(struct iwl_mvm *mvm,
mvm               881 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	lockdep_assert_held(&mvm->mutex);
mvm               886 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		spin_lock_bh(&mvm->time_event_lock);
mvm               888 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		spin_unlock_bh(&mvm->time_event_lock);
mvm               891 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 			IWL_DEBUG_TE(mvm, "CS period is already scheduled\n");
mvm               900 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 		iwl_mvm_remove_time_event(mvm, mvmvif, te_data);
mvm               917 drivers/net/wireless/intel/iwlwifi/mvm/time-event.c 	return iwl_mvm_time_event_send_add(mvm, vif, te_data, &time_cmd);
mvm               134 drivers/net/wireless/intel/iwlwifi/mvm/time-event.h void iwl_mvm_protect_session(struct iwl_mvm *mvm,
mvm               149 drivers/net/wireless/intel/iwlwifi/mvm/time-event.h void iwl_mvm_stop_session_protection(struct iwl_mvm *mvm,
mvm               155 drivers/net/wireless/intel/iwlwifi/mvm/time-event.h void iwl_mvm_rx_time_event_notif(struct iwl_mvm *mvm,
mvm               175 drivers/net/wireless/intel/iwlwifi/mvm/time-event.h int iwl_mvm_start_p2p_roc(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm               186 drivers/net/wireless/intel/iwlwifi/mvm/time-event.h void iwl_mvm_stop_roc(struct iwl_mvm *mvm);
mvm               198 drivers/net/wireless/intel/iwlwifi/mvm/time-event.h void iwl_mvm_remove_time_event(struct iwl_mvm *mvm,
mvm               210 drivers/net/wireless/intel/iwlwifi/mvm/time-event.h void iwl_mvm_te_clear_data(struct iwl_mvm *mvm,
mvm               213 drivers/net/wireless/intel/iwlwifi/mvm/time-event.h void iwl_mvm_cleanup_roc_te(struct iwl_mvm *mvm);
mvm               226 drivers/net/wireless/intel/iwlwifi/mvm/time-event.h int iwl_mvm_schedule_csa_period(struct iwl_mvm *mvm,
mvm                69 drivers/net/wireless/intel/iwlwifi/mvm/tt.c void iwl_mvm_enter_ctkill(struct iwl_mvm *mvm)
mvm                71 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	struct iwl_mvm_tt_mgmt *tt = &mvm->thermal_throttle;
mvm                74 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	if (test_bit(IWL_MVM_STATUS_HW_CTKILL, &mvm->status))
mvm                77 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	IWL_ERR(mvm, "Enter CT Kill\n");
mvm                78 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	iwl_mvm_set_hw_ctkill_state(mvm, true);
mvm                80 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	if (!iwl_mvm_is_tt_in_fw(mvm)) {
mvm                89 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	if (!mvm->temperature_test)
mvm                94 drivers/net/wireless/intel/iwlwifi/mvm/tt.c static void iwl_mvm_exit_ctkill(struct iwl_mvm *mvm)
mvm                96 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	if (!test_bit(IWL_MVM_STATUS_HW_CTKILL, &mvm->status))
mvm                99 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	IWL_ERR(mvm, "Exit CT Kill\n");
mvm               100 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	iwl_mvm_set_hw_ctkill_state(mvm, false);
mvm               103 drivers/net/wireless/intel/iwlwifi/mvm/tt.c void iwl_mvm_tt_temp_changed(struct iwl_mvm *mvm, u32 temp)
mvm               106 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	if (mvm->temperature_test)
mvm               109 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	if (mvm->temperature == temp)
mvm               112 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	mvm->temperature = temp;
mvm               113 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	iwl_mvm_tt_handler(mvm);
mvm               116 drivers/net/wireless/intel/iwlwifi/mvm/tt.c static int iwl_mvm_temp_notif_parse(struct iwl_mvm *mvm,
mvm               127 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 		IWL_ERR(mvm, "Invalid DTS_MEASUREMENT_NOTIFICATION\n");
mvm               139 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	IWL_DEBUG_TEMP(mvm, "DTS_MEASUREMENT_NOTIFICATION - %d\n", temp);
mvm               147 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	struct iwl_mvm *mvm =
mvm               152 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	ret = iwl_mvm_temp_notif_parse(mvm, pkt);
mvm               161 drivers/net/wireless/intel/iwlwifi/mvm/tt.c void iwl_mvm_temp_notif(struct iwl_mvm *mvm, struct iwl_rx_cmd_buffer *rxb)
mvm               170 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	if (test_bit(IWL_MVM_STATUS_HW_CTKILL, &mvm->status))
mvm               173 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	temp = iwl_mvm_temp_notif_parse(mvm, pkt);
mvm               175 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	if (!iwl_mvm_is_tt_in_fw(mvm)) {
mvm               177 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 			iwl_mvm_tt_temp_changed(mvm, temp);
mvm               182 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 		IWL_ERR(mvm, "Invalid DTS_MEASUREMENT_NOTIFICATION\n");
mvm               195 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	IWL_DEBUG_TEMP(mvm, "Temp = %d Threshold crossed = %d\n",
mvm               202 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	if (mvm->tz_device.tzone) {
mvm               203 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 		struct iwl_mvm_thermal_device *tz_dev = &mvm->tz_device;
mvm               211 drivers/net/wireless/intel/iwlwifi/mvm/tt.c void iwl_mvm_ct_kill_notif(struct iwl_mvm *mvm, struct iwl_rx_cmd_buffer *rxb)
mvm               218 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 		IWL_ERR(mvm, "Invalid CT_KILL_NOTIFICATION\n");
mvm               223 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	IWL_DEBUG_TEMP(mvm, "CT Kill notification temperature = %d\n",
mvm               226 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	iwl_mvm_enter_ctkill(mvm);
mvm               229 drivers/net/wireless/intel/iwlwifi/mvm/tt.c static int iwl_mvm_get_temp_cmd(struct iwl_mvm *mvm)
mvm               242 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	if (!fw_has_capa(&mvm->fw->ucode_capa,
mvm               244 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 		return iwl_mvm_send_cmd_pdu(mvm, cmdid, 0, sizeof(cmd), &cmd);
mvm               246 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	return iwl_mvm_send_cmd_pdu(mvm, cmdid, 0, sizeof(extcmd), &extcmd);
mvm               249 drivers/net/wireless/intel/iwlwifi/mvm/tt.c int iwl_mvm_get_temp(struct iwl_mvm *mvm, s32 *temp)
mvm               256 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	lockdep_assert_held(&mvm->mutex);
mvm               258 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	iwl_init_notification_wait(&mvm->notif_wait, &wait_temp_notif,
mvm               262 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	ret = iwl_mvm_get_temp_cmd(mvm);
mvm               264 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 		IWL_ERR(mvm, "Failed to get the temperature (err=%d)\n", ret);
mvm               265 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 		iwl_remove_notification(&mvm->notif_wait, &wait_temp_notif);
mvm               269 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	ret = iwl_wait_notification(&mvm->notif_wait, &wait_temp_notif,
mvm               272 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 		IWL_ERR(mvm, "Getting the temperature timed out\n");
mvm               280 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	struct iwl_mvm *mvm;
mvm               286 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	mvm = container_of(tt, struct iwl_mvm, thermal_throttle);
mvm               288 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	if (iwl_mvm_is_tt_in_fw(mvm)) {
mvm               289 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 		iwl_mvm_exit_ctkill(mvm);
mvm               296 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	mutex_lock(&mvm->mutex);
mvm               298 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	if (__iwl_mvm_mac_start(mvm))
mvm               301 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	ret = iwl_mvm_get_temp(mvm, &temp);
mvm               303 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	__iwl_mvm_mac_stop(mvm);
mvm               308 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	IWL_DEBUG_TEMP(mvm, "NIC temperature: %d\n", temp);
mvm               311 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 		mutex_unlock(&mvm->mutex);
mvm               312 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 		iwl_mvm_exit_ctkill(mvm);
mvm               317 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	mutex_unlock(&mvm->mutex);
mvm               318 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	schedule_delayed_work(&mvm->thermal_throttle.ct_kill_exit,
mvm               325 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	struct iwl_mvm *mvm = _data;
mvm               328 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	lockdep_assert_held(&mvm->mutex);
mvm               330 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	if (mvm->thermal_throttle.dynamic_smps)
mvm               338 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	iwl_mvm_update_smps(mvm, vif, IWL_MVM_SMPS_REQ_TT, smps_mode);
mvm               341 drivers/net/wireless/intel/iwlwifi/mvm/tt.c static void iwl_mvm_tt_tx_protection(struct iwl_mvm *mvm, bool enable)
mvm               346 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	for (i = 0; i < ARRAY_SIZE(mvm->fw_id_to_mac_id); i++) {
mvm               347 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 		mvmsta = iwl_mvm_sta_from_staid_protected(mvm, i);
mvm               353 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 		err = iwl_mvm_tx_protection(mvm, mvmsta, enable);
mvm               355 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 			IWL_ERR(mvm, "Failed to %s Tx protection\n",
mvm               358 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 			IWL_DEBUG_TEMP(mvm, "%s Tx protection\n",
mvm               365 drivers/net/wireless/intel/iwlwifi/mvm/tt.c void iwl_mvm_tt_tx_backoff(struct iwl_mvm *mvm, u32 backoff)
mvm               373 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	backoff = max(backoff, mvm->thermal_throttle.min_backoff);
mvm               375 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	if (iwl_mvm_send_cmd(mvm, &cmd) == 0) {
mvm               376 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 		IWL_DEBUG_TEMP(mvm, "Set Thermal Tx backoff to: %u\n",
mvm               378 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 		mvm->thermal_throttle.tx_backoff = backoff;
mvm               380 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 		IWL_ERR(mvm, "Failed to change Thermal Tx backoff\n");
mvm               384 drivers/net/wireless/intel/iwlwifi/mvm/tt.c void iwl_mvm_tt_handler(struct iwl_mvm *mvm)
mvm               386 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	struct iwl_tt_params *params = &mvm->thermal_throttle.params;
mvm               387 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	struct iwl_mvm_tt_mgmt *tt = &mvm->thermal_throttle;
mvm               388 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	s32 temperature = mvm->temperature;
mvm               393 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	IWL_DEBUG_TEMP(mvm, "NIC temperature: %d\n", mvm->temperature);
mvm               396 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 		iwl_mvm_enter_ctkill(mvm);
mvm               402 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 		iwl_mvm_exit_ctkill(mvm);
mvm               409 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 			IWL_DEBUG_TEMP(mvm, "Enable dynamic SMPS\n");
mvm               412 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 					mvm->hw, IEEE80211_IFACE_ITER_NORMAL,
mvm               413 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 					iwl_mvm_tt_smps_iterator, mvm);
mvm               417 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 			IWL_DEBUG_TEMP(mvm, "Disable dynamic SMPS\n");
mvm               420 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 					mvm->hw, IEEE80211_IFACE_ITER_NORMAL,
mvm               421 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 					iwl_mvm_tt_smps_iterator, mvm);
mvm               427 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 			iwl_mvm_tt_tx_protection(mvm, true);
mvm               430 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 			iwl_mvm_tt_tx_protection(mvm, false);
mvm               445 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 			iwl_mvm_tt_tx_backoff(mvm, tx_backoff);
mvm               449 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 		IWL_WARN(mvm,
mvm               455 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 		IWL_WARN(mvm,
mvm               507 drivers/net/wireless/intel/iwlwifi/mvm/tt.c int iwl_mvm_ctdp_command(struct iwl_mvm *mvm, u32 op, u32 state)
mvm               517 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	lockdep_assert_held(&mvm->mutex);
mvm               520 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	ret = iwl_mvm_send_cmd_pdu_status(mvm, WIDE_ID(PHY_OPS_GROUP,
mvm               525 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 		IWL_ERR(mvm, "cTDP command failed (err=%d)\n", ret);
mvm               532 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 		mvm->cooling_dev.cur_state = state;
mvm               536 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 		IWL_DEBUG_TEMP(mvm, "cTDP avg energy in mWatt = %d\n", status);
mvm               545 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 		IWL_DEBUG_TEMP(mvm, "cTDP stopped successfully\n");
mvm               560 drivers/net/wireless/intel/iwlwifi/mvm/tt.c int iwl_mvm_send_temp_report_ths_cmd(struct iwl_mvm *mvm)
mvm               567 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	lockdep_assert_held(&mvm->mutex);
mvm               569 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	if (!mvm->tz_device.tzone)
mvm               578 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 		if (mvm->tz_device.temp_trips[i] != S16_MIN) {
mvm               580 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 				cpu_to_le16(mvm->tz_device.temp_trips[i]);
mvm               597 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 				mvm->tz_device.temp_trips[j])
mvm               598 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 				mvm->tz_device.fw_trips_index[i] = j;
mvm               604 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	ret = iwl_mvm_send_cmd_pdu(mvm, WIDE_ID(PHY_OPS_GROUP,
mvm               608 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 		IWL_ERR(mvm, "TEMP_REPORT_THS_CMD command failed (err=%d)\n",
mvm               618 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	struct iwl_mvm *mvm = (struct iwl_mvm *)device->devdata;
mvm               622 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	mutex_lock(&mvm->mutex);
mvm               624 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	if (!iwl_mvm_firmware_running(mvm) ||
mvm               625 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	    mvm->fwrt.cur_fw_img != IWL_UCODE_REGULAR) {
mvm               630 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	ret = iwl_mvm_get_temp(mvm, &temp);
mvm               637 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	mutex_unlock(&mvm->mutex);
mvm               644 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	struct iwl_mvm *mvm = (struct iwl_mvm *)device->devdata;
mvm               649 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	*temp = mvm->tz_device.temp_trips[trip] * 1000;
mvm               668 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	struct iwl_mvm *mvm = (struct iwl_mvm *)device->devdata;
mvm               673 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	mutex_lock(&mvm->mutex);
mvm               675 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	if (!iwl_mvm_firmware_running(mvm) ||
mvm               676 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	    mvm->fwrt.cur_fw_img != IWL_UCODE_REGULAR) {
mvm               692 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	tzone = &mvm->tz_device;
mvm               715 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	ret = iwl_mvm_send_temp_report_ths_cmd(mvm);
mvm               717 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	mutex_unlock(&mvm->mutex);
mvm               731 drivers/net/wireless/intel/iwlwifi/mvm/tt.c static void iwl_mvm_thermal_zone_register(struct iwl_mvm *mvm)
mvm               737 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	if (!iwl_mvm_is_tt_in_fw(mvm)) {
mvm               738 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 		mvm->tz_device.tzone = NULL;
mvm               746 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	mvm->tz_device.tzone = thermal_zone_device_register(name,
mvm               749 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 							mvm, &tzone_ops,
mvm               751 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	if (IS_ERR(mvm->tz_device.tzone)) {
mvm               752 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 		IWL_DEBUG_TEMP(mvm,
mvm               754 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 			       PTR_ERR(mvm->tz_device.tzone));
mvm               755 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 		mvm->tz_device.tzone = NULL;
mvm               763 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 		mvm->tz_device.temp_trips[i] = S16_MIN;
mvm               777 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	struct iwl_mvm *mvm = (struct iwl_mvm *)(cdev->devdata);
mvm               779 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	*state = mvm->cooling_dev.cur_state;
mvm               787 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	struct iwl_mvm *mvm = (struct iwl_mvm *)(cdev->devdata);
mvm               790 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	mutex_lock(&mvm->mutex);
mvm               792 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	if (!iwl_mvm_firmware_running(mvm) ||
mvm               793 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	    mvm->fwrt.cur_fw_img != IWL_UCODE_REGULAR) {
mvm               803 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	ret = iwl_mvm_ctdp_command(mvm, CTDP_CMD_OPERATION_START,
mvm               807 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	mutex_unlock(&mvm->mutex);
mvm               817 drivers/net/wireless/intel/iwlwifi/mvm/tt.c static void iwl_mvm_cooling_device_register(struct iwl_mvm *mvm)
mvm               821 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	if (!iwl_mvm_is_ctdp_supported(mvm))
mvm               826 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	mvm->cooling_dev.cdev =
mvm               828 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 						mvm,
mvm               831 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	if (IS_ERR(mvm->cooling_dev.cdev)) {
mvm               832 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 		IWL_DEBUG_TEMP(mvm,
mvm               834 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 			       PTR_ERR(mvm->cooling_dev.cdev));
mvm               835 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 		mvm->cooling_dev.cdev = NULL;
mvm               840 drivers/net/wireless/intel/iwlwifi/mvm/tt.c static void iwl_mvm_thermal_zone_unregister(struct iwl_mvm *mvm)
mvm               842 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	if (!iwl_mvm_is_tt_in_fw(mvm) || !mvm->tz_device.tzone)
mvm               845 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	IWL_DEBUG_TEMP(mvm, "Thermal zone device unregister\n");
mvm               846 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	if (mvm->tz_device.tzone) {
mvm               847 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 		thermal_zone_device_unregister(mvm->tz_device.tzone);
mvm               848 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 		mvm->tz_device.tzone = NULL;
mvm               852 drivers/net/wireless/intel/iwlwifi/mvm/tt.c static void iwl_mvm_cooling_device_unregister(struct iwl_mvm *mvm)
mvm               854 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	if (!iwl_mvm_is_ctdp_supported(mvm) || !mvm->cooling_dev.cdev)
mvm               857 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	IWL_DEBUG_TEMP(mvm, "Cooling device unregister\n");
mvm               858 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	if (mvm->cooling_dev.cdev) {
mvm               859 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 		thermal_cooling_device_unregister(mvm->cooling_dev.cdev);
mvm               860 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 		mvm->cooling_dev.cdev = NULL;
mvm               865 drivers/net/wireless/intel/iwlwifi/mvm/tt.c void iwl_mvm_thermal_initialize(struct iwl_mvm *mvm, u32 min_backoff)
mvm               867 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	struct iwl_mvm_tt_mgmt *tt = &mvm->thermal_throttle;
mvm               869 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	IWL_DEBUG_TEMP(mvm, "Initialize Thermal Throttling\n");
mvm               871 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	if (mvm->cfg->thermal_params)
mvm               872 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 		tt->params = *mvm->cfg->thermal_params;
mvm               882 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	iwl_mvm_cooling_device_register(mvm);
mvm               883 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	iwl_mvm_thermal_zone_register(mvm);
mvm               885 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	mvm->init_status |= IWL_MVM_INIT_STATUS_THERMAL_INIT_COMPLETE;
mvm               888 drivers/net/wireless/intel/iwlwifi/mvm/tt.c void iwl_mvm_thermal_exit(struct iwl_mvm *mvm)
mvm               890 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	if (!(mvm->init_status & IWL_MVM_INIT_STATUS_THERMAL_INIT_COMPLETE))
mvm               893 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	cancel_delayed_work_sync(&mvm->thermal_throttle.ct_kill_exit);
mvm               894 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	IWL_DEBUG_TEMP(mvm, "Exit Thermal Throttling\n");
mvm               897 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	iwl_mvm_cooling_device_unregister(mvm);
mvm               898 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	iwl_mvm_thermal_zone_unregister(mvm);
mvm               900 drivers/net/wireless/intel/iwlwifi/mvm/tt.c 	mvm->init_status &= ~IWL_MVM_INIT_STATUS_THERMAL_INIT_COMPLETE;
mvm                76 drivers/net/wireless/intel/iwlwifi/mvm/tx.c iwl_mvm_bar_check_trigger(struct iwl_mvm *mvm, const u8 *addr,
mvm                82 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	trig = iwl_fw_dbg_trigger_on(&mvm->fwrt, NULL, FW_DBG_TRIGGER_BA);
mvm                91 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	iwl_fw_dbg_collect_trig(&mvm->fwrt, trig,
mvm                99 drivers/net/wireless/intel/iwlwifi/mvm/tx.c static u16 iwl_mvm_tx_csum(struct iwl_mvm *mvm, struct sk_buff *skb,
mvm               116 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	if (WARN_ONCE(!(mvm->hw->netdev_features & IWL_TX_CSUM_NETIF_FLAGS) ||
mvm               186 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	if (!iwl_mvm_has_new_tx_api(mvm) && info->control.hw_key &&
mvm               201 drivers/net/wireless/intel/iwlwifi/mvm/tx.c void iwl_mvm_set_tx_cmd(struct iwl_mvm *mvm, struct sk_buff *skb,
mvm               241 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		iwl_mvm_bar_check_trigger(mvm, bar->ra, tx_cmd->tid_tspec,
mvm               261 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	tx_flags |= iwl_mvm_bt_coex_tx_prio(mvm, hdr, info, ac) <<
mvm               282 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	if (ieee80211_is_data(fc) && len > mvm->rts_threshold &&
mvm               286 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	if (fw_has_capa(&mvm->fw->ucode_capa,
mvm               303 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		cpu_to_le16(iwl_mvm_tx_csum(mvm, skb, hdr, info,
mvm               307 drivers/net/wireless/intel/iwlwifi/mvm/tx.c static u32 iwl_mvm_get_tx_ant(struct iwl_mvm *mvm,
mvm               312 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	    !iwl_mvm_bt_coex_is_shared_ant_avail(mvm))
mvm               313 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		return mvm->cfg->non_shared_ant << RATE_MCS_ANT_POS;
mvm               321 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	return BIT(mvm->mgmt_last_antenna_idx) << RATE_MCS_ANT_POS;
mvm               324 drivers/net/wireless/intel/iwlwifi/mvm/tx.c static u32 iwl_mvm_get_tx_rate(struct iwl_mvm *mvm,
mvm               342 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 				&mvm->nvm_data->bands[info->band], sta);
mvm               361 drivers/net/wireless/intel/iwlwifi/mvm/tx.c static u32 iwl_mvm_get_tx_rate_n_flags(struct iwl_mvm *mvm,
mvm               365 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	return iwl_mvm_get_tx_rate(mvm, info, sta) |
mvm               366 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		iwl_mvm_get_tx_ant(mvm, info, sta, fc);
mvm               372 drivers/net/wireless/intel/iwlwifi/mvm/tx.c void iwl_mvm_set_tx_cmd_rate(struct iwl_mvm *mvm, struct iwl_tx_cmd *tx_cmd,
mvm               410 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		cpu_to_le32(iwl_mvm_get_tx_rate_n_flags(mvm, info, sta, fc));
mvm               433 drivers/net/wireless/intel/iwlwifi/mvm/tx.c static void iwl_mvm_set_tx_cmd_crypto(struct iwl_mvm *mvm,
mvm               491 drivers/net/wireless/intel/iwlwifi/mvm/tx.c iwl_mvm_set_tx_params(struct iwl_mvm *mvm, struct sk_buff *skb,
mvm               499 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	dev_cmd = iwl_trans_alloc_tx_cmd(mvm->trans);
mvm               506 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	if (iwl_mvm_has_new_tx_api(mvm)) {
mvm               520 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		offload_assist = iwl_mvm_tx_csum(mvm, skb, hdr, info,
mvm               540 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 				iwl_mvm_get_tx_rate_n_flags(mvm, info, sta,
mvm               544 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		if (mvm->trans->trans_cfg->device_family >=
mvm               578 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		iwl_mvm_set_tx_cmd_crypto(mvm, info, tx_cmd, skb, hdrlen);
mvm               580 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	iwl_mvm_set_tx_cmd(mvm, skb, tx_cmd, info, sta_id);
mvm               582 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	iwl_mvm_set_tx_cmd_rate(mvm, tx_cmd, info, sta, hdr->frame_control);
mvm               602 drivers/net/wireless/intel/iwlwifi/mvm/tx.c static int iwl_mvm_get_ctrl_vif_queue(struct iwl_mvm *mvm,
mvm               626 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 			return mvm->probe_queue;
mvm               634 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		return mvm->probe_queue;
mvm               637 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 			return mvm->p2p_dev_queue;
mvm               640 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		return mvm->p2p_dev_queue;
mvm               647 drivers/net/wireless/intel/iwlwifi/mvm/tx.c static void iwl_mvm_probe_resp_set_noa(struct iwl_mvm *mvm,
mvm               678 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		IWL_DEBUG_TX(mvm, "probe resp doesn't have P2P IE\n");
mvm               684 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 			IWL_ERR(mvm,
mvm               707 drivers/net/wireless/intel/iwlwifi/mvm/tx.c int iwl_mvm_tx_skb_non_sta(struct iwl_mvm *mvm, struct sk_buff *skb)
mvm               742 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 			queue = iwl_mvm_get_ctrl_vif_queue(mvm, &info, hdr);
mvm               744 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 			queue = mvm->snif_queue;
mvm               745 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 			sta_id = mvm->snif_sta.sta_id;
mvm               756 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 			sta_id = mvm->aux_sta.sta_id;
mvm               757 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 			queue = mvm->aux_queue;
mvm               762 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		IWL_ERR(mvm, "No queue was found. Dropping TX\n");
mvm               767 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		iwl_mvm_probe_resp_set_noa(mvm, skb);
mvm               769 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	IWL_DEBUG_TX(mvm, "station Id %d, queue=%d\n", sta_id, queue);
mvm               771 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	dev_cmd = iwl_mvm_set_tx_params(mvm, skb, &info, hdrlen, NULL, sta_id);
mvm               778 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	if (iwl_trans_tx(mvm->trans, skb, dev_cmd, queue)) {
mvm               779 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		iwl_trans_free_tx_cmd(mvm->trans, dev_cmd);
mvm               786 drivers/net/wireless/intel/iwlwifi/mvm/tx.c unsigned int iwl_mvm_max_amsdu_size(struct iwl_mvm *mvm,
mvm               795 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	if (iwl_mvm_is_cdb_supported(mvm) &&
mvm               800 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	if (sta->he_cap.has_he && !WARN_ON(!iwl_mvm_has_new_tx_api(mvm)))
mvm               803 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	txf = iwl_mvm_mac_ac_to_tx_fifo(mvm, ac);
mvm               812 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		     mvm->fwrt.smem_cfg.lmac[lmac].txfifo_size[txf] - 256);
mvm               885 drivers/net/wireless/intel/iwlwifi/mvm/tx.c static int iwl_mvm_tx_tso(struct iwl_mvm *mvm, struct sk_buff *skb,
mvm               938 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		      iwl_mvm_max_amsdu_size(mvm, sta, tid));
mvm               973 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	    mvm->trans->max_skb_frags)
mvm               993 drivers/net/wireless/intel/iwlwifi/mvm/tx.c static int iwl_mvm_tx_tso(struct iwl_mvm *mvm, struct sk_buff *skb,
mvm              1006 drivers/net/wireless/intel/iwlwifi/mvm/tx.c static bool iwl_mvm_txq_should_update(struct iwl_mvm *mvm, int txq_id)
mvm              1008 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	unsigned long queue_tid_bitmap = mvm->queue_info[txq_id].tid_bitmap;
mvm              1012 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	if (WARN_ON(iwl_mvm_has_new_tx_api(mvm)))
mvm              1016 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		if (time_before(mvm->queue_info[txq_id].last_frame_time[tid] +
mvm              1024 drivers/net/wireless/intel/iwlwifi/mvm/tx.c static void iwl_mvm_tx_airtime(struct iwl_mvm *mvm,
mvm              1034 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	mdata = &mvm->tcm.data[mac];
mvm              1036 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	if (mvm->tcm.paused)
mvm              1039 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	if (time_after(jiffies, mvm->tcm.ts + MVM_TCM_PERIOD))
mvm              1040 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		schedule_delayed_work(&mvm->tcm.work, 0);
mvm              1045 drivers/net/wireless/intel/iwlwifi/mvm/tx.c static int iwl_mvm_tx_pkt_queued(struct iwl_mvm *mvm,
mvm              1055 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	mdata = &mvm->tcm.data[mac];
mvm              1067 drivers/net/wireless/intel/iwlwifi/mvm/tx.c static int iwl_mvm_tx_mpdu(struct iwl_mvm *mvm, struct sk_buff *skb,
mvm              1095 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		iwl_mvm_probe_resp_set_noa(mvm, skb);
mvm              1097 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	dev_cmd = iwl_mvm_set_tx_params(mvm, skb, info, hdrlen,
mvm              1130 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		if (!iwl_mvm_has_new_tx_api(mvm)) {
mvm              1147 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		iwl_trans_free_tx_cmd(mvm->trans, dev_cmd);
mvm              1152 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	if (!iwl_mvm_has_new_tx_api(mvm)) {
mvm              1154 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		mvm->queue_info[txq_id].last_frame_time[tid] = jiffies;
mvm              1166 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		if (unlikely(mvm->queue_info[txq_id].status ==
mvm              1168 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 			     iwl_mvm_txq_should_update(mvm, txq_id)))
mvm              1169 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 			schedule_work(&mvm->add_stream_wk);
mvm              1172 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	IWL_DEBUG_TX(mvm, "TX to [%d|%d] Q:%d - seq: 0x%x len %d\n",
mvm              1179 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	if (iwl_trans_tx(mvm->trans, skb, dev_cmd, txq_id))
mvm              1187 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	if (iwl_mvm_tx_pkt_queued(mvm, mvmsta,
mvm              1194 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	iwl_trans_free_tx_cmd(mvm->trans, dev_cmd);
mvm              1197 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	IWL_DEBUG_TX(mvm, "TX to [%d|%d] dropped\n", mvmsta->sta_id, tid);
mvm              1201 drivers/net/wireless/intel/iwlwifi/mvm/tx.c int iwl_mvm_tx_skb_sta(struct iwl_mvm *mvm, struct sk_buff *skb,
mvm              1219 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		return iwl_mvm_tx_mpdu(mvm, skb, &info, sta);
mvm              1225 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		return iwl_mvm_tx_mpdu(mvm, skb, &info, sta);
mvm              1229 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	ret = iwl_mvm_tx_tso(mvm, skb, &info, sta, &mpdus_skbs);
mvm              1239 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		ret = iwl_mvm_tx_mpdu(mvm, skb, &info, sta);
mvm              1249 drivers/net/wireless/intel/iwlwifi/mvm/tx.c static void iwl_mvm_check_ratid_empty(struct iwl_mvm *mvm,
mvm              1261 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	    iwl_mvm_tid_queued(mvm, tid_data) == 0) {
mvm              1275 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	if (mvm->trans->trans_cfg->gen2)
mvm              1283 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		IWL_DEBUG_TX_QUEUES(mvm,
mvm              1291 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		IWL_DEBUG_TX_QUEUES(mvm,
mvm              1392 drivers/net/wireless/intel/iwlwifi/mvm/tx.c static void iwl_mvm_tx_status_check_trigger(struct iwl_mvm *mvm,
mvm              1399 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	trig = iwl_fw_dbg_trigger_on(&mvm->fwrt, NULL,
mvm              1414 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		iwl_fw_dbg_collect_trig(&mvm->fwrt, trig,
mvm              1434 drivers/net/wireless/intel/iwlwifi/mvm/tx.c static inline u32 iwl_mvm_get_scd_ssn(struct iwl_mvm *mvm,
mvm              1437 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	return le32_to_cpup((__le32 *)iwl_mvm_get_agg_status(mvm, tx_resp) +
mvm              1441 drivers/net/wireless/intel/iwlwifi/mvm/tx.c static void iwl_mvm_rx_tx_cmd_single(struct iwl_mvm *mvm,
mvm              1452 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		iwl_mvm_get_agg_status(mvm, tx_resp);
mvm              1454 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	u16 ssn = iwl_mvm_get_scd_ssn(mvm, tx_resp);
mvm              1463 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	if (iwl_mvm_has_new_tx_api(mvm))
mvm              1469 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	iwl_trans_reclaim(mvm->trans, txq_id, ssn, &skbs);
mvm              1479 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		iwl_trans_free_tx_cmd(mvm->trans, info->driver_data[1]);
mvm              1506 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 			iwl_mvm_toggle_tx_ant(mvm, &mvm->mgmt_last_antenna_idx);
mvm              1516 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		iwl_mvm_tx_status_check_trigger(mvm, status);
mvm              1562 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		ieee80211_tx_status(mvm->hw, skb);
mvm              1581 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	IWL_DEBUG_TX_REPLY(mvm,
mvm              1585 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	IWL_DEBUG_TX_REPLY(mvm,
mvm              1593 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	sta = rcu_dereference(mvm->fw_id_to_mac_id[sta_id]);
mvm              1604 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		iwl_mvm_tx_airtime(mvm, mvmsta,
mvm              1609 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 			iwl_mvm_toggle_tx_ant(mvm, &mvmsta->tx_ant);
mvm              1620 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 				IWL_DEBUG_TX_REPLY(mvm,
mvm              1624 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 				IWL_DEBUG_TX_REPLY(mvm,
mvm              1628 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 			iwl_mvm_check_ratid_empty(mvm, sta, tid);
mvm              1633 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 				    !iwl_mvm_tid_queued(mvm, tid_data)) {
mvm              1653 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 				iwl_mvm_sta_modify_sleep_tx_count(mvm, sta,
mvm              1693 drivers/net/wireless/intel/iwlwifi/mvm/tx.c static void iwl_mvm_rx_tx_cmd_agg_dbg(struct iwl_mvm *mvm,
mvm              1698 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		iwl_mvm_get_agg_status(mvm, tx_resp);
mvm              1704 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		IWL_DEBUG_TX_REPLY(mvm,
mvm              1714 drivers/net/wireless/intel/iwlwifi/mvm/tx.c static void iwl_mvm_rx_tx_cmd_agg_dbg(struct iwl_mvm *mvm,
mvm              1719 drivers/net/wireless/intel/iwlwifi/mvm/tx.c static void iwl_mvm_rx_tx_cmd_agg(struct iwl_mvm *mvm,
mvm              1734 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	iwl_mvm_rx_tx_cmd_agg_dbg(mvm, pkt);
mvm              1738 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	mvmsta = iwl_mvm_sta_from_staid_rcu(mvm, sta_id);
mvm              1740 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	sta = rcu_dereference(mvm->fw_id_to_mac_id[sta_id]);
mvm              1753 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		iwl_mvm_tx_airtime(mvm, mvmsta,
mvm              1760 drivers/net/wireless/intel/iwlwifi/mvm/tx.c void iwl_mvm_rx_tx_cmd(struct iwl_mvm *mvm, struct iwl_rx_cmd_buffer *rxb)
mvm              1766 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		iwl_mvm_rx_tx_cmd_single(mvm, pkt);
mvm              1768 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		iwl_mvm_rx_tx_cmd_agg(mvm, pkt);
mvm              1771 drivers/net/wireless/intel/iwlwifi/mvm/tx.c static void iwl_mvm_tx_reclaim(struct iwl_mvm *mvm, int sta_id, int tid,
mvm              1789 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	sta = rcu_dereference(mvm->fw_id_to_mac_id[sta_id]);
mvm              1801 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		IWL_ERR(mvm,
mvm              1815 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	iwl_trans_reclaim(mvm->trans, txq, index, &reclaimed_skbs);
mvm              1821 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	iwl_mvm_check_ratid_empty(mvm, sta, tid);
mvm              1840 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		iwl_trans_free_tx_cmd(mvm->trans, info->driver_data[1]);
mvm              1878 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		if (!iwl_mvm_has_tlc_offload(mvm)) {
mvm              1879 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 			IWL_DEBUG_TX_REPLY(mvm,
mvm              1881 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 			iwl_mvm_rs_tx_status(mvm, sta, tid, ba_info, false);
mvm              1890 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		ieee80211_tx_status(mvm->hw, skb);
mvm              1894 drivers/net/wireless/intel/iwlwifi/mvm/tx.c void iwl_mvm_rx_ba_notif(struct iwl_mvm *mvm, struct iwl_rx_cmd_buffer *rxb)
mvm              1905 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	if (iwl_mvm_has_new_tx_api(mvm)) {
mvm              1924 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		mvmsta = iwl_mvm_sta_from_staid_rcu(mvm, sta_id);
mvm              1938 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 			iwl_mvm_tx_reclaim(mvm, sta_id, tid,
mvm              1945 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		iwl_mvm_tx_airtime(mvm, mvmsta,
mvm              1950 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		IWL_DEBUG_TX_REPLY(mvm,
mvm              1968 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	mvmsta = iwl_mvm_sta_from_staid_rcu(mvm, sta_id);
mvm              1984 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	iwl_mvm_tx_reclaim(mvm, sta_id, tid, txq, index, &ba_info,
mvm              1987 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	IWL_DEBUG_TX_REPLY(mvm,
mvm              1991 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	IWL_DEBUG_TX_REPLY(mvm,
mvm              1997 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	IWL_DEBUG_TX_REPLY(mvm, "reduced txp from ba notif %d\n",
mvm              2009 drivers/net/wireless/intel/iwlwifi/mvm/tx.c int iwl_mvm_flush_tx_path(struct iwl_mvm *mvm, u32 tfd_msk, u32 flags)
mvm              2017 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	WARN_ON(iwl_mvm_has_new_tx_api(mvm));
mvm              2019 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	ret = iwl_mvm_send_cmd_pdu(mvm, TXPATH_FLUSH, flags,
mvm              2022 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		IWL_ERR(mvm, "Failed to send flush command (%d)\n", ret);
mvm              2026 drivers/net/wireless/intel/iwlwifi/mvm/tx.c int iwl_mvm_flush_sta_tids(struct iwl_mvm *mvm, u32 sta_id,
mvm              2035 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	WARN_ON(!iwl_mvm_has_new_tx_api(mvm));
mvm              2037 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	ret = iwl_mvm_send_cmd_pdu(mvm, TXPATH_FLUSH, flags,
mvm              2040 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		IWL_ERR(mvm, "Failed to send flush command (%d)\n", ret);
mvm              2044 drivers/net/wireless/intel/iwlwifi/mvm/tx.c int iwl_mvm_flush_sta(struct iwl_mvm *mvm, void *sta, bool internal, u32 flags)
mvm              2052 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	if (iwl_mvm_has_new_tx_api(mvm))
mvm              2053 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		return iwl_mvm_flush_sta_tids(mvm, mvm_sta->sta_id,
mvm              2057 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 		return iwl_mvm_flush_tx_path(mvm, int_sta->tfd_queue_msk,
mvm              2060 drivers/net/wireless/intel/iwlwifi/mvm/tx.c 	return iwl_mvm_flush_tx_path(mvm, mvm_sta->tfd_queue_msk, flags);
mvm                77 drivers/net/wireless/intel/iwlwifi/mvm/utils.c int iwl_mvm_send_cmd(struct iwl_mvm *mvm, struct iwl_host_cmd *cmd)
mvm                82 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	if (WARN_ON(mvm->d3_test_active))
mvm                92 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		lockdep_assert_held(&mvm->mutex);
mvm                94 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	ret = iwl_trans_send_cmd(mvm->trans, cmd);
mvm               110 drivers/net/wireless/intel/iwlwifi/mvm/utils.c int iwl_mvm_send_cmd_pdu(struct iwl_mvm *mvm, u32 id,
mvm               120 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	return iwl_mvm_send_cmd(mvm, &cmd);
mvm               126 drivers/net/wireless/intel/iwlwifi/mvm/utils.c int iwl_mvm_send_cmd_status(struct iwl_mvm *mvm, struct iwl_host_cmd *cmd,
mvm               133 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	lockdep_assert_held(&mvm->mutex);
mvm               136 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	if (WARN_ON(mvm->d3_test_active))
mvm               150 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	ret = iwl_trans_send_cmd(mvm->trans, cmd);
mvm               179 drivers/net/wireless/intel/iwlwifi/mvm/utils.c int iwl_mvm_send_cmd_pdu_status(struct iwl_mvm *mvm, u32 id, u16 len,
mvm               188 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	return iwl_mvm_send_cmd_status(mvm, &cmd, status);
mvm               247 drivers/net/wireless/intel/iwlwifi/mvm/utils.c void iwl_mvm_rx_fw_error(struct iwl_mvm *mvm, struct iwl_rx_cmd_buffer *rxb)
mvm               252 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "FW Error notification: type 0x%08X cmd_id 0x%02X\n",
mvm               254 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "FW Error notification: seq 0x%04X service 0x%08X\n",
mvm               257 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "FW Error notification: timestamp 0x%016llX\n",
mvm               279 drivers/net/wireless/intel/iwlwifi/mvm/utils.c u8 iwl_mvm_next_antenna(struct iwl_mvm *mvm, u8 valid, u8 last_idx)
mvm               462 drivers/net/wireless/intel/iwlwifi/mvm/utils.c static void iwl_mvm_dump_umac_error_log(struct iwl_mvm *mvm)
mvm               464 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	struct iwl_trans *trans = mvm->trans;
mvm               466 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	u32 base = mvm->trans->dbg.umac_error_event_table;
mvm               468 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	if (!mvm->support_umac_log &&
mvm               469 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	    !(mvm->trans->dbg.error_event_table_tlv_status &
mvm               476 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		mvm->fwrt.dump.umac_err_id = table.error_id;
mvm               481 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 			mvm->status, table.valid);
mvm               484 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | %s\n", table.error_id,
mvm               486 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | umac branchlink1\n", table.blink1);
mvm               487 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | umac branchlink2\n", table.blink2);
mvm               488 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | umac interruptlink1\n", table.ilink1);
mvm               489 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | umac interruptlink2\n", table.ilink2);
mvm               490 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | umac data1\n", table.data1);
mvm               491 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | umac data2\n", table.data2);
mvm               492 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | umac data3\n", table.data3);
mvm               493 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | umac major\n", table.umac_major);
mvm               494 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | umac minor\n", table.umac_minor);
mvm               495 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | frame pointer\n", table.frame_pointer);
mvm               496 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | stack pointer\n", table.stack_pointer);
mvm               497 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | last host cmd\n", table.cmd_header);
mvm               498 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | isr status reg\n", table.nic_isr_pref);
mvm               501 drivers/net/wireless/intel/iwlwifi/mvm/utils.c static void iwl_mvm_dump_lmac_error_log(struct iwl_mvm *mvm, u8 lmac_num)
mvm               503 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	struct iwl_trans *trans = mvm->trans;
mvm               505 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	u32 val, base = mvm->trans->dbg.lmac_error_event_table[lmac_num];
mvm               507 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	if (mvm->fwrt.cur_fw_img == IWL_UCODE_INIT) {
mvm               509 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 			base = mvm->fw->init_errlog_ptr;
mvm               512 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 			base = mvm->fw->inst_errlog_ptr;
mvm               516 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		IWL_ERR(mvm,
mvm               519 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 			(mvm->fwrt.cur_fw_img == IWL_UCODE_INIT)
mvm               542 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		mvm->fwrt.dump.lmac_err_id[lmac_num] = table.error_id;
mvm               547 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 			mvm->status, table.valid);
mvm               552 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "Loaded firmware version: %s\n", mvm->fw->fw_version);
mvm               554 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | %-28s\n", table.error_id,
mvm               556 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | trm_hw_status0\n", table.trm_hw_status0);
mvm               557 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | trm_hw_status1\n", table.trm_hw_status1);
mvm               558 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | branchlink2\n", table.blink2);
mvm               559 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | interruptlink1\n", table.ilink1);
mvm               560 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | interruptlink2\n", table.ilink2);
mvm               561 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | data1\n", table.data1);
mvm               562 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | data2\n", table.data2);
mvm               563 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | data3\n", table.data3);
mvm               564 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | beacon time\n", table.bcon_time);
mvm               565 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | tsf low\n", table.tsf_low);
mvm               566 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | tsf hi\n", table.tsf_hi);
mvm               567 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | time gp1\n", table.gp1);
mvm               568 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | time gp2\n", table.gp2);
mvm               569 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | uCode revision type\n", table.fw_rev_type);
mvm               570 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | uCode version major\n", table.major);
mvm               571 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | uCode version minor\n", table.minor);
mvm               572 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | hw version\n", table.hw_ver);
mvm               573 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | board version\n", table.brd_ver);
mvm               574 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | hcmd\n", table.hcmd);
mvm               575 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | isr0\n", table.isr0);
mvm               576 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | isr1\n", table.isr1);
mvm               577 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | isr2\n", table.isr2);
mvm               578 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | isr3\n", table.isr3);
mvm               579 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | isr4\n", table.isr4);
mvm               580 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | last cmd Id\n", table.last_cmd_id);
mvm               581 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | wait_event\n", table.wait_event);
mvm               582 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | l2p_control\n", table.l2p_control);
mvm               583 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | l2p_duration\n", table.l2p_duration);
mvm               584 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | l2p_mhvalid\n", table.l2p_mhvalid);
mvm               585 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | l2p_addr_match\n", table.l2p_addr_match);
mvm               586 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | lmpm_pmg_sel\n", table.lmpm_pmg_sel);
mvm               587 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | timestamp\n", table.u_timestamp);
mvm               588 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_ERR(mvm, "0x%08X | flow_handler\n", table.flow_handler);
mvm               591 drivers/net/wireless/intel/iwlwifi/mvm/utils.c void iwl_mvm_dump_nic_error_log(struct iwl_mvm *mvm)
mvm               593 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	if (!test_bit(STATUS_DEVICE_ENABLED, &mvm->trans->status)) {
mvm               594 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		IWL_ERR(mvm,
mvm               599 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	iwl_mvm_dump_lmac_error_log(mvm, 0);
mvm               601 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	if (mvm->trans->dbg.lmac_error_event_table[1])
mvm               602 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		iwl_mvm_dump_lmac_error_log(mvm, 1);
mvm               604 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	iwl_mvm_dump_umac_error_log(mvm);
mvm               606 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	iwl_fw_error_print_fseq_regs(&mvm->fwrt);
mvm               609 drivers/net/wireless/intel/iwlwifi/mvm/utils.c int iwl_mvm_reconfig_scd(struct iwl_mvm *mvm, int queue, int fifo, int sta_id,
mvm               625 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	if (WARN_ON(iwl_mvm_has_new_tx_api(mvm)))
mvm               628 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	if (WARN(mvm->queue_info[queue].tid_bitmap == 0,
mvm               632 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_DEBUG_TX_QUEUES(mvm, "Reconfig SCD for TXQ #%d\n", queue);
mvm               634 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	ret = iwl_mvm_send_cmd_pdu(mvm, SCD_QUEUE_CFG, 0, sizeof(cmd), &cmd);
mvm               650 drivers/net/wireless/intel/iwlwifi/mvm/utils.c int iwl_mvm_send_lq_cmd(struct iwl_mvm *mvm, struct iwl_lq_cmd *lq)
mvm               660 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		    iwl_mvm_has_tlc_offload(mvm)))
mvm               663 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	return iwl_mvm_send_cmd(mvm, &cmd);
mvm               674 drivers/net/wireless/intel/iwlwifi/mvm/utils.c void iwl_mvm_update_smps(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm               682 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	lockdep_assert_held(&mvm->mutex);
mvm               685 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	if (num_of_ant(iwl_mvm_get_valid_rx_ant(mvm)) == 1)
mvm               707 drivers/net/wireless/intel/iwlwifi/mvm/utils.c int iwl_mvm_request_statistics(struct iwl_mvm *mvm, bool clear)
mvm               720 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	ret = iwl_mvm_send_cmd(mvm, &cmd);
mvm               724 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	iwl_mvm_handle_rx_statistics(mvm, cmd.resp_pkt);
mvm               728 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		iwl_mvm_accu_radio_stats(mvm);
mvm               733 drivers/net/wireless/intel/iwlwifi/mvm/utils.c void iwl_mvm_accu_radio_stats(struct iwl_mvm *mvm)
mvm               735 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	mvm->accu_radio_stats.rx_time += mvm->radio_stats.rx_time;
mvm               736 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	mvm->accu_radio_stats.tx_time += mvm->radio_stats.tx_time;
mvm               737 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	mvm->accu_radio_stats.on_time_rf += mvm->radio_stats.on_time_rf;
mvm               738 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	mvm->accu_radio_stats.on_time_scan += mvm->radio_stats.on_time_scan;
mvm               755 drivers/net/wireless/intel/iwlwifi/mvm/utils.c bool iwl_mvm_rx_diversity_allowed(struct iwl_mvm *mvm)
mvm               759 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	lockdep_assert_held(&mvm->mutex);
mvm               761 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	if (num_of_ant(iwl_mvm_get_valid_rx_ant(mvm)) == 1)
mvm               764 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	if (mvm->cfg->rx_with_siso_diversity)
mvm               768 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 			mvm->hw, IEEE80211_IFACE_ITER_NORMAL,
mvm               774 drivers/net/wireless/intel/iwlwifi/mvm/utils.c void iwl_mvm_send_low_latency_cmd(struct iwl_mvm *mvm,
mvm               781 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	if (!fw_has_capa(&mvm->fw->ucode_capa,
mvm               791 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	if (iwl_mvm_send_cmd_pdu(mvm, iwl_cmd_id(LOW_LATENCY_CMD,
mvm               794 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		IWL_ERR(mvm, "Failed to send low latency command\n");
mvm               797 drivers/net/wireless/intel/iwlwifi/mvm/utils.c int iwl_mvm_update_low_latency(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm               805 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	lockdep_assert_held(&mvm->mutex);
mvm               815 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	iwl_mvm_send_low_latency_cmd(mvm, low_latency, mvmvif->id);
mvm               817 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	res = iwl_mvm_update_quotas(mvm, false, NULL);
mvm               821 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	iwl_mvm_bt_coex_vif_change(mvm);
mvm               823 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	return iwl_mvm_power_update_mac(mvm);
mvm               848 drivers/net/wireless/intel/iwlwifi/mvm/utils.c bool iwl_mvm_low_latency(struct iwl_mvm *mvm)
mvm               853 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 			mvm->hw, IEEE80211_IFACE_ITER_NORMAL,
mvm               859 drivers/net/wireless/intel/iwlwifi/mvm/utils.c bool iwl_mvm_low_latency_band(struct iwl_mvm *mvm, enum nl80211_band band)
mvm               864 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 			mvm->hw, IEEE80211_IFACE_ITER_NORMAL,
mvm               891 drivers/net/wireless/intel/iwlwifi/mvm/utils.c struct ieee80211_vif *iwl_mvm_get_bss_vif(struct iwl_mvm *mvm)
mvm               896 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		mvm->hw, IEEE80211_IFACE_ITER_NORMAL,
mvm               900 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		IWL_ERR(mvm, "More than one managed interface active!\n");
mvm               923 drivers/net/wireless/intel/iwlwifi/mvm/utils.c bool iwl_mvm_is_vif_assoc(struct iwl_mvm *mvm)
mvm               929 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	ieee80211_iterate_active_interfaces_atomic(mvm->hw,
mvm               936 drivers/net/wireless/intel/iwlwifi/mvm/utils.c unsigned int iwl_mvm_get_wd_timeout(struct iwl_mvm *mvm,
mvm               944 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		mvm->trans->trans_cfg->base_params->wd_timeout;
mvm               946 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	if (!iwl_fw_dbg_trigger_enabled(mvm->fw, FW_DBG_TRIGGER_TXQ_TIMERS)) {
mvm               951 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		if (fw_has_capa(&mvm->fw->ucode_capa,
mvm               959 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	trigger = iwl_fw_dbg_get_trigger(mvm->fw, FW_DBG_TRIGGER_TXQ_TIMERS);
mvm               988 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		return mvm->trans->trans_cfg->base_params->wd_timeout;
mvm               992 drivers/net/wireless/intel/iwlwifi/mvm/utils.c void iwl_mvm_connection_loss(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
mvm               998 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	trig = iwl_fw_dbg_trigger_on(&mvm->fwrt, ieee80211_vif_to_wdev(vif),
mvm              1009 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	iwl_fw_dbg_collect_trig(&mvm->fwrt, trig, "%s", errmsg);
mvm              1015 drivers/net/wireless/intel/iwlwifi/mvm/utils.c void iwl_mvm_event_frame_timeout_callback(struct iwl_mvm *mvm,
mvm              1023 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	trig = iwl_fw_dbg_trigger_on(&mvm->fwrt, ieee80211_vif_to_wdev(vif),
mvm              1033 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	iwl_fw_dbg_collect_trig(&mvm->fwrt, trig,
mvm              1047 drivers/net/wireless/intel/iwlwifi/mvm/utils.c iwl_mvm_tcm_load(struct iwl_mvm *mvm, u32 airtime, unsigned long elapsed)
mvm              1060 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	struct iwl_mvm *mvm;
mvm              1067 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	struct iwl_mvm *mvm = data->mvm;
mvm              1074 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	low_latency = mvm->tcm.result.low_latency[mvmvif->id];
mvm              1076 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	if (!mvm->tcm.result.change[mvmvif->id] &&
mvm              1078 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		iwl_mvm_update_quotas(mvm, false, NULL);
mvm              1084 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		iwl_mvm_update_low_latency(mvm, vif, low_latency,
mvm              1087 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		iwl_mvm_update_quotas(mvm, false, NULL);
mvm              1093 drivers/net/wireless/intel/iwlwifi/mvm/utils.c static void iwl_mvm_tcm_results(struct iwl_mvm *mvm)
mvm              1096 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		.mvm = mvm,
mvm              1100 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	mutex_lock(&mvm->mutex);
mvm              1103 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		mvm->hw, IEEE80211_IFACE_ITER_NORMAL,
mvm              1106 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	if (fw_has_capa(&mvm->fw->ucode_capa, IWL_UCODE_TLV_CAPA_UMAC_SCAN))
mvm              1107 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		iwl_mvm_config_scan(mvm);
mvm              1109 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	mutex_unlock(&mvm->mutex);
mvm              1114 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	struct iwl_mvm *mvm;
mvm              1121 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	mvm = mvmvif->mvm;
mvm              1123 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	if (mvm->tcm.data[mvmvif->id].opened_rx_ba_sessions)
mvm              1127 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	memcpy(mvm->uapsd_noagg_bssids[mvm->uapsd_noagg_bssid_write_idx].addr,
mvm              1129 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	mvm->uapsd_noagg_bssid_write_idx++;
mvm              1130 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	if (mvm->uapsd_noagg_bssid_write_idx >= IWL_MVM_UAPSD_NOAGG_LIST_LEN)
mvm              1131 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		mvm->uapsd_noagg_bssid_write_idx = 0;
mvm              1133 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	iwl_mvm_connection_loss(mvm, vif,
mvm              1137 drivers/net/wireless/intel/iwlwifi/mvm/utils.c static void iwl_mvm_uapsd_agg_disconnect(struct iwl_mvm *mvm,
mvm              1154 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	if (mvm->tcm.data[mvmvif->id].uapsd_nonagg_detect.detected)
mvm              1157 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	mvm->tcm.data[mvmvif->id].uapsd_nonagg_detect.detected = true;
mvm              1158 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	IWL_INFO(mvm,
mvm              1163 drivers/net/wireless/intel/iwlwifi/mvm/utils.c static void iwl_mvm_check_uapsd_agg_expected_tpt(struct iwl_mvm *mvm,
mvm              1167 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	u64 bytes = mvm->tcm.data[mac].uapsd_nonagg_detect.rx_bytes;
mvm              1172 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	rate = ewma_rate_read(&mvm->tcm.data[mac].uapsd_nonagg_detect.rate);
mvm              1174 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	if (!rate || mvm->tcm.data[mac].opened_rx_ba_sessions ||
mvm              1175 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	    mvm->tcm.data[mac].uapsd_nonagg_detect.detected)
mvm              1178 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	if (iwl_mvm_has_new_rx_api(mvm)) {
mvm              1200 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	vif = rcu_dereference(mvm->vif_id_to_mac[mac]);
mvm              1202 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		iwl_mvm_uapsd_agg_disconnect(mvm, vif);
mvm              1218 drivers/net/wireless/intel/iwlwifi/mvm/utils.c static unsigned long iwl_mvm_calc_tcm_stats(struct iwl_mvm *mvm,
mvm              1222 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	unsigned int elapsed = jiffies_to_msecs(ts - mvm->tcm.ts);
mvm              1224 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		jiffies_to_msecs(ts - mvm->tcm.uapsd_nonagg_ts);
mvm              1231 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	bool handle_ll = time_after(ts, mvm->tcm.ll_ts + MVM_LL_PERIOD);
mvm              1234 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		mvm->tcm.ll_ts = ts;
mvm              1236 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		mvm->tcm.uapsd_nonagg_ts = ts;
mvm              1238 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	mvm->tcm.result.elapsed = elapsed;
mvm              1240 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	ieee80211_iterate_active_interfaces_atomic(mvm->hw,
mvm              1246 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		struct iwl_mvm_tcm_mac *mdata = &mvm->tcm.data[mac];
mvm              1253 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		load = iwl_mvm_tcm_load(mvm, airtime, elapsed);
mvm              1254 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		mvm->tcm.result.change[mac] = load != mvm->tcm.result.load[mac];
mvm              1255 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		mvm->tcm.result.load[mac] = load;
mvm              1256 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		mvm->tcm.result.airtime[mac] = airtime;
mvm              1264 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 			mvm->tcm.result.low_latency[mac] = true;
mvm              1266 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 			mvm->tcm.result.low_latency[mac] = false;
mvm              1273 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		low_latency |= mvm->tcm.result.low_latency[mac];
mvm              1275 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		if (!mvm->tcm.result.low_latency[mac] && handle_uapsd)
mvm              1276 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 			iwl_mvm_check_uapsd_agg_expected_tpt(mvm, uapsd_elapsed,
mvm              1285 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	load = iwl_mvm_tcm_load(mvm, total_airtime, elapsed);
mvm              1286 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	mvm->tcm.result.global_change = load != mvm->tcm.result.global_load;
mvm              1287 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	mvm->tcm.result.global_load = load;
mvm              1290 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		band_load = iwl_mvm_tcm_load(mvm, band_airtime[i], elapsed);
mvm              1291 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		mvm->tcm.result.band_load[i] = band_load;
mvm              1323 drivers/net/wireless/intel/iwlwifi/mvm/utils.c void iwl_mvm_recalc_tcm(struct iwl_mvm *mvm)
mvm              1327 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		time_after(ts, mvm->tcm.uapsd_nonagg_ts +
mvm              1330 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	spin_lock(&mvm->tcm.lock);
mvm              1331 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	if (mvm->tcm.paused || !time_after(ts, mvm->tcm.ts + MVM_TCM_PERIOD)) {
mvm              1332 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		spin_unlock(&mvm->tcm.lock);
mvm              1335 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	spin_unlock(&mvm->tcm.lock);
mvm              1337 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	if (handle_uapsd && iwl_mvm_has_new_rx_api(mvm)) {
mvm              1338 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		mutex_lock(&mvm->mutex);
mvm              1339 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		if (iwl_mvm_request_statistics(mvm, true))
mvm              1341 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		mutex_unlock(&mvm->mutex);
mvm              1344 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	spin_lock(&mvm->tcm.lock);
mvm              1346 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	if (!mvm->tcm.paused && time_after(ts, mvm->tcm.ts + MVM_TCM_PERIOD)) {
mvm              1348 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		unsigned long work_delay = iwl_mvm_calc_tcm_stats(mvm, ts,
mvm              1353 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		mvm->tcm.ts = ts;
mvm              1355 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 			schedule_delayed_work(&mvm->tcm.work, work_delay);
mvm              1357 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	spin_unlock(&mvm->tcm.lock);
mvm              1359 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	iwl_mvm_tcm_results(mvm);
mvm              1365 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	struct iwl_mvm *mvm = container_of(delayed_work, struct iwl_mvm,
mvm              1368 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	iwl_mvm_recalc_tcm(mvm);
mvm              1371 drivers/net/wireless/intel/iwlwifi/mvm/utils.c void iwl_mvm_pause_tcm(struct iwl_mvm *mvm, bool with_cancel)
mvm              1373 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	spin_lock_bh(&mvm->tcm.lock);
mvm              1374 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	mvm->tcm.paused = true;
mvm              1375 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	spin_unlock_bh(&mvm->tcm.lock);
mvm              1377 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		cancel_delayed_work_sync(&mvm->tcm.work);
mvm              1380 drivers/net/wireless/intel/iwlwifi/mvm/utils.c void iwl_mvm_resume_tcm(struct iwl_mvm *mvm)
mvm              1385 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	spin_lock_bh(&mvm->tcm.lock);
mvm              1386 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	mvm->tcm.ts = jiffies;
mvm              1387 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	mvm->tcm.ll_ts = jiffies;
mvm              1389 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		struct iwl_mvm_tcm_mac *mdata = &mvm->tcm.data[mac];
mvm              1396 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		if (mvm->tcm.result.low_latency[mac])
mvm              1401 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	mvm->tcm.paused = false;
mvm              1407 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	if (mvm->tcm.result.global_load > IWL_MVM_TRAFFIC_LOW)
mvm              1408 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		schedule_delayed_work(&mvm->tcm.work, MVM_TCM_PERIOD);
mvm              1410 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		schedule_delayed_work(&mvm->tcm.work, MVM_LL_PERIOD);
mvm              1412 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	spin_unlock_bh(&mvm->tcm.lock);
mvm              1415 drivers/net/wireless/intel/iwlwifi/mvm/utils.c void iwl_mvm_tcm_add_vif(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
mvm              1423 drivers/net/wireless/intel/iwlwifi/mvm/utils.c void iwl_mvm_tcm_rm_vif(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
mvm              1430 drivers/net/wireless/intel/iwlwifi/mvm/utils.c u32 iwl_mvm_get_systime(struct iwl_mvm *mvm)
mvm              1434 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	if (mvm->trans->trans_cfg->device_family >= IWL_DEVICE_FAMILY_22000 &&
mvm              1435 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	    mvm->trans->cfg->gp2_reg_addr)
mvm              1436 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		reg_addr = mvm->trans->cfg->gp2_reg_addr;
mvm              1438 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	return iwl_read_prph(mvm->trans, reg_addr);
mvm              1441 drivers/net/wireless/intel/iwlwifi/mvm/utils.c void iwl_mvm_get_sync_time(struct iwl_mvm *mvm, u32 *gp2, u64 *boottime)
mvm              1445 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	lockdep_assert_held(&mvm->mutex);
mvm              1448 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	ps_disabled = mvm->ps_disabled;
mvm              1450 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		mvm->ps_disabled = true;
mvm              1451 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		iwl_mvm_power_update_device(mvm);
mvm              1454 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 	*gp2 = iwl_mvm_get_systime(mvm);
mvm              1458 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		mvm->ps_disabled = ps_disabled;
mvm              1459 drivers/net/wireless/intel/iwlwifi/mvm/utils.c 		iwl_mvm_power_update_device(mvm);