| /linux/drivers/net/wireless/intel/iwlwifi/mvm/ |
| H A D | ptp.c | 23 static void iwl_mvm_ptp_update_new_read(struct iwl_mvm *mvm, u32 gp2) in iwl_mvm_ptp_update_new_read() argument 28 if (gp2 < mvm->ptp_data.last_gp2 && in iwl_mvm_ptp_update_new_read() 29 mvm->ptp_data.last_gp2 - gp2 < IWL_PTP_WRAP_THRESHOLD_USEC) { in iwl_mvm_ptp_update_new_read() 30 IWL_DEBUG_INFO(mvm, in iwl_mvm_ptp_update_new_read() 32 gp2, mvm->ptp_data.last_gp2); in iwl_mvm_ptp_update_new_read() 36 if (gp2 < mvm->ptp_data.last_gp2) { in iwl_mvm_ptp_update_new_read() 37 mvm->ptp_data.wrap_counter++; in iwl_mvm_ptp_update_new_read() 38 IWL_DEBUG_INFO(mvm, in iwl_mvm_ptp_update_new_read() 40 mvm->ptp_data.wrap_counter); in iwl_mvm_ptp_update_new_read() 43 mvm->ptp_data.last_gp2 = gp2; in iwl_mvm_ptp_update_new_read() [all …]
|
| H A D | time-event.c | 25 void iwl_mvm_te_clear_data(struct iwl_mvm *mvm, in iwl_mvm_te_clear_data() argument 28 lockdep_assert_held(&mvm->time_event_lock); in iwl_mvm_te_clear_data() 48 static void iwl_mvm_cleanup_roc(struct iwl_mvm *mvm) in iwl_mvm_cleanup_roc() argument 50 struct ieee80211_vif *vif = mvm->p2p_device_vif; in iwl_mvm_cleanup_roc() 52 lockdep_assert_held(&mvm->mutex); in iwl_mvm_cleanup_roc() 65 if (test_and_clear_bit(IWL_MVM_STATUS_ROC_P2P_RUNNING, &mvm->status)) { in iwl_mvm_cleanup_roc() 79 iwl_mvm_flush_sta(mvm, mvmvif->deflink.bcast_sta.sta_id, in iwl_mvm_cleanup_roc() 82 if (mvm->mld_api_is_used) { in iwl_mvm_cleanup_roc() 83 iwl_mvm_mld_rm_bcast_sta(mvm, vif, in iwl_mvm_cleanup_roc() 86 iwl_mvm_link_changed(mvm, vif, &vif->bss_conf, in iwl_mvm_cleanup_roc() [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 | ftm-initiator.c | 49 static void iwl_mvm_ftm_reset(struct iwl_mvm *mvm) in iwl_mvm_ftm_reset() argument 53 mvm->ftm_initiator.req = NULL; in iwl_mvm_ftm_reset() 54 mvm->ftm_initiator.req_wdev = NULL; in iwl_mvm_ftm_reset() 55 memset(mvm->ftm_initiator.responses, 0, in iwl_mvm_ftm_reset() 56 sizeof(mvm->ftm_initiator.responses)); in iwl_mvm_ftm_reset() 58 list_for_each_entry_safe(e, t, &mvm->ftm_initiator.loc_list, list) { in iwl_mvm_ftm_reset() 64 void iwl_mvm_ftm_restart(struct iwl_mvm *mvm) in iwl_mvm_ftm_restart() argument 74 lockdep_assert_held(&mvm->mutex); in iwl_mvm_ftm_restart() 76 if (!mvm->ftm_initiator.req) in iwl_mvm_ftm_restart() 79 for (i = 0; i < mvm->ftm_initiator.req->n_peers; i++) { in iwl_mvm_ftm_restart() [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 | mld-mac.c | 7 static void iwl_mvm_mld_set_he_support(struct iwl_mvm *mvm, in iwl_mvm_mld_set_he_support() argument 25 static void iwl_mvm_mld_mac_ctxt_cmd_common(struct iwl_mvm *mvm, in iwl_mvm_mld_mac_ctxt_cmd_common() argument 33 int cmd_ver = iwl_fw_lookup_cmd_ver(mvm->fw, in iwl_mvm_mld_mac_ctxt_cmd_common() 54 cpu_to_le32(!iwl_mvm_is_nic_ack_enabled(mvm, vif)); in iwl_mvm_mld_mac_ctxt_cmd_common() 68 iwl_mvm_mld_set_he_support(mvm, vif, cmd, cmd_ver); in iwl_mvm_mld_mac_ctxt_cmd_common() 83 iwl_mvm_mld_set_he_support(mvm, vif, cmd, cmd_ver); in iwl_mvm_mld_mac_ctxt_cmd_common() 102 static int iwl_mvm_mld_mac_ctxt_send_cmd(struct iwl_mvm *mvm, in iwl_mvm_mld_mac_ctxt_send_cmd() argument 105 int ret = iwl_mvm_send_cmd_pdu(mvm, in iwl_mvm_mld_mac_ctxt_send_cmd() 109 IWL_ERR(mvm, "Failed to send MAC_CONFIG_CMD (action:%d): %d\n", in iwl_mvm_mld_mac_ctxt_send_cmd() 114 static int iwl_mvm_mld_mac_ctxt_cmd_sta(struct iwl_mvm *mvm, in iwl_mvm_mld_mac_ctxt_cmd_sta() argument [all …]
|
| H A D | time-sync.c | 33 static struct sk_buff *iwl_mvm_time_sync_find_skb(struct iwl_mvm *mvm, u8 *addr, in iwl_mvm_time_sync_find_skb() argument 42 while ((skb = skb_dequeue(&mvm->time_sync.frame_list))) { in iwl_mvm_time_sync_find_skb() 58 void iwl_mvm_time_sync_msmt_event(struct iwl_mvm *mvm, in iwl_mvm_time_sync_msmt_event() argument 67 iwl_mvm_time_sync_find_skb(mvm, notif->peer_addr, in iwl_mvm_time_sync_msmt_event() 72 IWL_DEBUG_INFO(mvm, "Time sync event but no pending skb\n"); in iwl_mvm_time_sync_msmt_event() 77 adj_time = iwl_mvm_ptp_get_adj_time(mvm, ts_10ns * 10); in iwl_mvm_time_sync_msmt_event() 82 adj_time = iwl_mvm_ptp_get_adj_time(mvm, ts_10ns * 10); in iwl_mvm_time_sync_msmt_event() 86 IWL_DEBUG_INFO(mvm, in iwl_mvm_time_sync_msmt_event() 90 ieee80211_rx_napi(mvm->hw, NULL, skb, NULL); in iwl_mvm_time_sync_msmt_event() 93 void iwl_mvm_time_sync_msmt_confirm_event(struct iwl_mvm *mvm, in iwl_mvm_time_sync_msmt_confirm_event() argument [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 | mld-key.c | 11 static u32 iwl_mvm_get_sec_sta_mask(struct iwl_mvm *mvm, in iwl_mvm_get_sec_sta_mask() argument 19 lockdep_assert_held(&mvm->mutex); in iwl_mvm_get_sec_sta_mask() 56 return iwl_mvm_sta_fw_id_mask(mvm, sta, keyconf->link_id); in iwl_mvm_get_sec_sta_mask() 59 u32 iwl_mvm_get_sec_flags(struct iwl_mvm *mvm, in iwl_mvm_get_sec_flags() argument 69 lockdep_assert_held(&mvm->mutex); in iwl_mvm_get_sec_flags() 132 struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw); in iwl_mvm_mld_update_sta_key() local 139 cpu_to_le32(iwl_mvm_get_sec_flags(mvm, vif, sta, key)), in iwl_mvm_mld_update_sta_key() 147 err = iwl_mvm_send_cmd_pdu(mvm, cmd_id, 0, sizeof(cmd), &cmd); in iwl_mvm_mld_update_sta_key() 153 int iwl_mvm_mld_update_sta_keys(struct iwl_mvm *mvm, in iwl_mvm_mld_update_sta_keys() argument 165 ieee80211_iter_keys(mvm->hw, vif, iwl_mvm_mld_update_sta_key, in iwl_mvm_mld_update_sta_keys() [all …]
|
| H A D | time-event.h | 79 void iwl_mvm_protect_session(struct iwl_mvm *mvm, 94 void iwl_mvm_stop_session_protection(struct iwl_mvm *mvm, 100 void iwl_mvm_rx_time_event_notif(struct iwl_mvm *mvm, 108 void iwl_mvm_rx_roc_notif(struct iwl_mvm *mvm, 130 int iwl_mvm_start_p2p_roc(struct iwl_mvm *mvm, struct ieee80211_vif *vif, 142 void iwl_mvm_stop_roc(struct iwl_mvm *mvm, struct ieee80211_vif *vif); 154 void iwl_mvm_remove_time_event(struct iwl_mvm *mvm, 166 void iwl_mvm_te_clear_data(struct iwl_mvm *mvm, 169 void iwl_mvm_cleanup_roc_te(struct iwl_mvm *mvm); 172 void iwl_mvm_remove_csa_period(struct iwl_mvm *mvm, [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/
|