| /linux/drivers/net/wireless/intel/iwlwifi/mvm/ |
| H A D | fw.c | 36 static int iwl_send_tx_ant_cfg(struct iwl_mvm *mvm, u8 valid_tx_ant) in iwl_send_tx_ant_cfg() argument 42 IWL_DEBUG_FW(mvm, "select valid tx ant: %u\n", valid_tx_ant); in iwl_send_tx_ant_cfg() 43 return iwl_mvm_send_cmd_pdu(mvm, TX_ANT_CONFIGURATION_CMD, 0, in iwl_send_tx_ant_cfg() 47 static int iwl_send_rss_cfg_cmd(struct iwl_mvm *mvm) in iwl_send_rss_cfg_cmd() argument 60 if (mvm->trans->info.num_rxqs == 1) in iwl_send_rss_cfg_cmd() 66 1 + (i % (mvm->trans->info.num_rxqs - 1)); in iwl_send_rss_cfg_cmd() 69 return iwl_mvm_send_cmd_pdu(mvm, RSS_CONFIG_CMD, 0, sizeof(cmd), &cmd); in iwl_send_rss_cfg_cmd() 72 static int iwl_mvm_send_dqa_cmd(struct iwl_mvm *mvm) in iwl_mvm_send_dqa_cmd() argument 80 ret = iwl_mvm_send_cmd_pdu(mvm, cmd_id, 0, sizeof(dqa_cmd), &dqa_cmd); in iwl_mvm_send_dqa_cmd() 82 IWL_ERR(mvm, "Failed to send DQA enabling command: %d\n", ret); in iwl_mvm_send_dqa_cmd() [all …]
|
| H A D | ops.c | 82 struct iwl_mvm *mvm = IWL_OP_MODE_GET_MVM(op_mode); in iwl_mvm_nic_config() local 85 u32 phy_config = iwl_mvm_get_phy_config(mvm); in iwl_mvm_nic_config() 94 IWL_DEBUG_INFO(mvm, "Radio type=0x%x-0x%x-0x%x\n", radio_cfg_type, in iwl_mvm_nic_config() 97 if (mvm->trans->mac_cfg->device_family >= IWL_DEVICE_FAMILY_AX210) in iwl_mvm_nic_config() 101 reg_val = CSR_HW_REV_STEP_DASH(mvm->trans->info.hw_rev); in iwl_mvm_nic_config() 119 if (mvm->trans->mac_cfg->device_family < IWL_DEVICE_FAMILY_8000) in iwl_mvm_nic_config() 122 if (iwl_fw_dbg_is_d3_debug_enabled(&mvm->fwrt)) in iwl_mvm_nic_config() 125 iwl_trans_set_bits_mask(mvm->trans, CSR_HW_IF_CONFIG_REG, in iwl_mvm_nic_config() 140 if (!mvm->trans->mac_cfg->base->apmg_not_supported) in iwl_mvm_nic_config() 141 iwl_set_bits_mask_prph(mvm->trans, APMG_PS_CTRL_REG, in iwl_mvm_nic_config() [all …]
|
| H A D | sta.c | 18 static inline int iwl_mvm_add_sta_cmd_size(struct iwl_mvm *mvm) in iwl_mvm_add_sta_cmd_size() argument 20 if (iwl_mvm_has_new_rx_api(mvm) || in iwl_mvm_add_sta_cmd_size() 21 fw_has_api(&mvm->fw->ucode_capa, IWL_UCODE_TLV_API_STA_TYPE)) in iwl_mvm_add_sta_cmd_size() 27 int iwl_mvm_find_free_sta_id(struct iwl_mvm *mvm, enum nl80211_iftype iftype) in iwl_mvm_find_free_sta_id() argument 33 WARN_ON_ONCE(test_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status)); in iwl_mvm_find_free_sta_id() 35 lockdep_assert_held(&mvm->mutex); in iwl_mvm_find_free_sta_id() 42 for (sta_id = 0; sta_id < mvm->fw->ucode_capa.num_stations; sta_id++) { in iwl_mvm_find_free_sta_id() 46 if (!rcu_dereference_protected(mvm->fw_id_to_mac_id[sta_id], in iwl_mvm_find_free_sta_id() 47 lockdep_is_held(&mvm->mutex))) in iwl_mvm_find_free_sta_id() 128 int iwl_mvm_sta_send_to_fw(struct iwl_mvm *mvm, struct ieee80211_sta *sta, in iwl_mvm_sta_send_to_fw() argument [all …]
|
| H A D | scan.c | 111 static inline void *iwl_mvm_get_scan_req_umac_data(struct iwl_mvm *mvm) in iwl_mvm_get_scan_req_umac_data() argument 113 struct iwl_scan_req_umac *cmd = mvm->scan_cmd; in iwl_mvm_get_scan_req_umac_data() 115 if (iwl_mvm_is_adaptive_dwell_v2_supported(mvm)) in iwl_mvm_get_scan_req_umac_data() 118 if (iwl_mvm_is_adaptive_dwell_supported(mvm)) in iwl_mvm_get_scan_req_umac_data() 121 if (iwl_mvm_cdb_scan_api(mvm)) in iwl_mvm_get_scan_req_umac_data() 128 iwl_mvm_get_scan_req_umac_channel(struct iwl_mvm *mvm) in iwl_mvm_get_scan_req_umac_channel() argument 130 struct iwl_scan_req_umac *cmd = mvm->scan_cmd; in iwl_mvm_get_scan_req_umac_channel() 132 if (iwl_mvm_is_adaptive_dwell_v2_supported(mvm)) in iwl_mvm_get_scan_req_umac_channel() 135 if (iwl_mvm_is_adaptive_dwell_supported(mvm)) in iwl_mvm_get_scan_req_umac_channel() 138 if (iwl_mvm_cdb_scan_api(mvm)) in iwl_mvm_get_scan_req_umac_channel() [all …]
|
| H A D | utils.c | 21 int iwl_mvm_send_cmd(struct iwl_mvm *mvm, struct iwl_host_cmd *cmd) in iwl_mvm_send_cmd() argument 31 lockdep_assert_held(&mvm->mutex); in iwl_mvm_send_cmd() 33 ret = iwl_trans_send_cmd(mvm->trans, cmd); in iwl_mvm_send_cmd() 52 int iwl_mvm_send_cmd_pdu(struct iwl_mvm *mvm, u32 id, in iwl_mvm_send_cmd_pdu() argument 62 return iwl_mvm_send_cmd(mvm, &cmd); in iwl_mvm_send_cmd_pdu() 68 int iwl_mvm_send_cmd_status(struct iwl_mvm *mvm, struct iwl_host_cmd *cmd, in iwl_mvm_send_cmd_status() argument 75 lockdep_assert_held(&mvm->mutex); in iwl_mvm_send_cmd_status() 87 ret = iwl_trans_send_cmd(mvm->trans, cmd); in iwl_mvm_send_cmd_status() 116 int iwl_mvm_send_cmd_pdu_status(struct iwl_mvm *mvm, u32 id, u16 len, in iwl_mvm_send_cmd_pdu_status() argument 125 return iwl_mvm_send_cmd_status(mvm, &cmd, status); in iwl_mvm_send_cmd_pdu_status() [all …]
|
| H A D | mac-ctxt.c | 47 struct iwl_mvm *mvm; member 185 void iwl_mvm_mac_ctxt_recalc_tsf_id(struct iwl_mvm *mvm, in iwl_mvm_mac_ctxt_recalc_tsf_id() argument 190 .mvm = mvm, in iwl_mvm_mac_ctxt_recalc_tsf_id() 198 mvm->hw, IEEE80211_IFACE_ITER_RESUME_ALL, in iwl_mvm_mac_ctxt_recalc_tsf_id() 208 int iwl_mvm_mac_ctxt_init(struct iwl_mvm *mvm, struct ieee80211_vif *vif) in iwl_mvm_mac_ctxt_init() argument 212 .mvm = mvm, in iwl_mvm_mac_ctxt_init() 222 lockdep_assert_held(&mvm->mutex); in iwl_mvm_mac_ctxt_init() 243 if (!mvm->mld_api_is_used) { in iwl_mvm_mac_ctxt_init() 257 mvm->hw, IEEE80211_IFACE_ITER_RESUME_ALL, in iwl_mvm_mac_ctxt_init() 274 if (WARN_ON_ONCE(test_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status))) in iwl_mvm_mac_ctxt_init() [all …]
|
| H A D | d3.c | 23 struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw); in iwl_mvm_set_rekey_data() local 26 mutex_lock(&mvm->mutex); in iwl_mvm_set_rekey_data() 37 mutex_unlock(&mvm->mutex); in iwl_mvm_set_rekey_data() 115 struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw); in iwl_mvm_wowlan_program_keys() local 153 mutex_lock(&mvm->mutex); in iwl_mvm_wowlan_program_keys() 154 ret = iwl_mvm_send_cmd_pdu(mvm, WEP_KEY, 0, in iwl_mvm_wowlan_program_keys() 158 mvm->ptk_ivlen = key->iv_len; in iwl_mvm_wowlan_program_keys() 159 mvm->ptk_icvlen = key->icv_len; in iwl_mvm_wowlan_program_keys() 160 mvm->gtk_ivlen = key->iv_len; in iwl_mvm_wowlan_program_keys() 161 mvm->gtk_icvlen = key->icv_len; in iwl_mvm_wowlan_program_keys() [all …]
|
| H A D | power.c | 22 int iwl_mvm_beacon_filter_send_cmd(struct iwl_mvm *mvm, in iwl_mvm_beacon_filter_send_cmd() argument 27 IWL_DEBUG_POWER(mvm, "ba_enable_beacon_abort is: %d\n", in iwl_mvm_beacon_filter_send_cmd() 29 IWL_DEBUG_POWER(mvm, "ba_escape_timer is: %d\n", in iwl_mvm_beacon_filter_send_cmd() 31 IWL_DEBUG_POWER(mvm, "bf_debug_flag is: %d\n", in iwl_mvm_beacon_filter_send_cmd() 33 IWL_DEBUG_POWER(mvm, "bf_enable_beacon_filter is: %d\n", in iwl_mvm_beacon_filter_send_cmd() 35 IWL_DEBUG_POWER(mvm, "bf_energy_delta is: %d\n", in iwl_mvm_beacon_filter_send_cmd() 37 IWL_DEBUG_POWER(mvm, "bf_escape_timer is: %d\n", in iwl_mvm_beacon_filter_send_cmd() 39 IWL_DEBUG_POWER(mvm, "bf_roaming_energy_delta is: %d\n", in iwl_mvm_beacon_filter_send_cmd() 41 IWL_DEBUG_POWER(mvm, "bf_roaming_state is: %d\n", in iwl_mvm_beacon_filter_send_cmd() 43 IWL_DEBUG_POWER(mvm, "bf_temp_threshold is: %d\n", in iwl_mvm_beacon_filter_send_cmd() [all …]
|
| H A D | ftm-responder.c | 90 iwl_mvm_ftm_responder_set_ndp(struct iwl_mvm *mvm, in iwl_mvm_ftm_responder_set_ndp() argument 108 iwl_mvm_ftm_responder_cmd(struct iwl_mvm *mvm, in iwl_mvm_ftm_responder_cmd() argument 128 u8 cmd_ver = iwl_fw_lookup_cmd_ver(mvm->fw, cmd_id, 6); in iwl_mvm_ftm_responder_cmd() 132 lockdep_assert_held(&mvm->mutex); in iwl_mvm_ftm_responder_cmd() 156 iwl_mvm_ftm_responder_set_ndp(mvm, (void *)&cmd); in iwl_mvm_ftm_responder_cmd() 167 IWL_ERR(mvm, "Failed to set responder bandwidth\n"); in iwl_mvm_ftm_responder_cmd() 173 return iwl_mvm_send_cmd_pdu(mvm, cmd_id, 0, cmd_size, &cmd); in iwl_mvm_ftm_responder_cmd() 177 iwl_mvm_ftm_responder_dyn_cfg_v2(struct iwl_mvm *mvm, in iwl_mvm_ftm_responder_dyn_cfg_v2() argument 199 lockdep_assert_held(&mvm->mutex); in iwl_mvm_ftm_responder_dyn_cfg_v2() 202 IWL_ERR(mvm, "LCI/civicloc data too big (%zd + %zd)\n", in iwl_mvm_ftm_responder_dyn_cfg_v2() [all …]
|
| H A D | rfi.c | 73 bool iwl_rfi_supported(struct iwl_mvm *mvm) in iwl_rfi_supported() argument 83 int iwl_rfi_send_config_cmd(struct iwl_mvm *mvm, struct iwl_rfi_lut_entry *rfi_table) in iwl_rfi_send_config_cmd() argument 94 if (!iwl_rfi_supported(mvm)) in iwl_rfi_send_config_cmd() 97 lockdep_assert_held(&mvm->mutex); in iwl_rfi_send_config_cmd() 108 ret = iwl_mvm_send_cmd(mvm, &hcmd); in iwl_rfi_send_config_cmd() 111 IWL_ERR(mvm, "Failed to send RFI config cmd %d\n", ret); in iwl_rfi_send_config_cmd() 116 struct iwl_rfi_freq_table_resp_cmd *iwl_rfi_get_freq_table(struct iwl_mvm *mvm) in iwl_rfi_get_freq_table() argument 126 if (!iwl_rfi_supported(mvm)) in iwl_rfi_get_freq_table() 129 mutex_lock(&mvm->mutex); in iwl_rfi_get_freq_table() 130 ret = iwl_mvm_send_cmd(mvm, &cmd); in iwl_rfi_get_freq_table() [all …]
|
| H A D | sf.c | 96 static void iwl_mvm_fill_sf_command(struct iwl_mvm *mvm, in iwl_mvm_fill_sf_command() argument 175 static int iwl_mvm_sf_config(struct iwl_mvm *mvm, struct ieee80211_sta *sta, in iwl_mvm_sf_config() argument 187 if (new_state != SF_FULL_ON && mvm->sf_state == new_state) in iwl_mvm_sf_config() 192 iwl_mvm_fill_sf_command(mvm, &sf_cmd, NULL); in iwl_mvm_sf_config() 196 IWL_ERR(mvm, in iwl_mvm_sf_config() 200 iwl_mvm_fill_sf_command(mvm, &sf_cmd, sta); in iwl_mvm_sf_config() 203 iwl_mvm_fill_sf_command(mvm, &sf_cmd, NULL); in iwl_mvm_sf_config() 211 ret = iwl_mvm_send_cmd_pdu(mvm, REPLY_SF_CFG_CMD, CMD_ASYNC, in iwl_mvm_sf_config() 214 mvm->sf_state = new_state; in iwl_mvm_sf_config() 224 int iwl_mvm_sf_update(struct iwl_mvm *mvm, struct ieee80211_vif *changed_vif, in iwl_mvm_sf_update() argument [all …]
|
| H A D | time-sync.h | 12 void iwl_mvm_time_sync_msmt_event(struct iwl_mvm *mvm, 14 void iwl_mvm_time_sync_msmt_confirm_event(struct iwl_mvm *mvm, 16 int iwl_mvm_time_sync_config(struct iwl_mvm *mvm, const u8 *addr, 20 bool iwl_mvm_time_sync_frame(struct iwl_mvm *mvm, struct sk_buff *skb, u8 *addr) in iwl_mvm_time_sync_frame() argument 22 if (ether_addr_equal(mvm->time_sync.peer_addr, addr) && in iwl_mvm_time_sync_frame() 24 skb_queue_tail(&mvm->time_sync.frame_list, skb); in iwl_mvm_time_sync_frame()
|
| /linux/drivers/net/wireless/intel/iwlwifi/ |
| H A D | Makefile | 50 obj-$(CONFIG_IWLMVM) += mvm/
|