| /Linux-v5.4/drivers/net/wireless/intel/iwlwifi/mvm/ |
| D | fw.c | 92 static int iwl_send_tx_ant_cfg(struct iwl_mvm *mvm, u8 valid_tx_ant) in iwl_send_tx_ant_cfg() argument 98 IWL_DEBUG_FW(mvm, "select valid tx ant: %u\n", valid_tx_ant); in iwl_send_tx_ant_cfg() 99 return iwl_mvm_send_cmd_pdu(mvm, TX_ANT_CONFIGURATION_CMD, 0, in iwl_send_tx_ant_cfg() 103 static int iwl_send_rss_cfg_cmd(struct iwl_mvm *mvm) in iwl_send_rss_cfg_cmd() argument 116 if (mvm->trans->num_rx_queues == 1) in iwl_send_rss_cfg_cmd() 122 1 + (i % (mvm->trans->num_rx_queues - 1)); in iwl_send_rss_cfg_cmd() 125 return iwl_mvm_send_cmd_pdu(mvm, RSS_CONFIG_CMD, 0, sizeof(cmd), &cmd); in iwl_send_rss_cfg_cmd() 128 static int iwl_configure_rxq(struct iwl_mvm *mvm) in iwl_configure_rxq() argument 138 num_queues = mvm->trans->num_rx_queues - 1; in iwl_configure_rxq() 152 iwl_trans_get_rxq_dma_data(mvm->trans, i + 1, &data); in iwl_configure_rxq() [all …]
|
| D | tt.c | 69 void iwl_mvm_enter_ctkill(struct iwl_mvm *mvm) in iwl_mvm_enter_ctkill() argument 71 struct iwl_mvm_tt_mgmt *tt = &mvm->thermal_throttle; in iwl_mvm_enter_ctkill() 74 if (test_bit(IWL_MVM_STATUS_HW_CTKILL, &mvm->status)) in iwl_mvm_enter_ctkill() 77 IWL_ERR(mvm, "Enter CT Kill\n"); in iwl_mvm_enter_ctkill() 78 iwl_mvm_set_hw_ctkill_state(mvm, true); in iwl_mvm_enter_ctkill() 80 if (!iwl_mvm_is_tt_in_fw(mvm)) { in iwl_mvm_enter_ctkill() 89 if (!mvm->temperature_test) in iwl_mvm_enter_ctkill() 94 static void iwl_mvm_exit_ctkill(struct iwl_mvm *mvm) in iwl_mvm_exit_ctkill() argument 96 if (!test_bit(IWL_MVM_STATUS_HW_CTKILL, &mvm->status)) in iwl_mvm_exit_ctkill() 99 IWL_ERR(mvm, "Exit CT Kill\n"); in iwl_mvm_exit_ctkill() [all …]
|
| D | utils.c | 77 int iwl_mvm_send_cmd(struct iwl_mvm *mvm, struct iwl_host_cmd *cmd) in iwl_mvm_send_cmd() argument 82 if (WARN_ON(mvm->d3_test_active)) in iwl_mvm_send_cmd() 92 lockdep_assert_held(&mvm->mutex); in iwl_mvm_send_cmd() 94 ret = iwl_trans_send_cmd(mvm->trans, cmd); in iwl_mvm_send_cmd() 110 int iwl_mvm_send_cmd_pdu(struct iwl_mvm *mvm, u32 id, in iwl_mvm_send_cmd_pdu() argument 120 return iwl_mvm_send_cmd(mvm, &cmd); in iwl_mvm_send_cmd_pdu() 126 int iwl_mvm_send_cmd_status(struct iwl_mvm *mvm, struct iwl_host_cmd *cmd, in iwl_mvm_send_cmd_status() argument 133 lockdep_assert_held(&mvm->mutex); in iwl_mvm_send_cmd_status() 136 if (WARN_ON(mvm->d3_test_active)) in iwl_mvm_send_cmd_status() 150 ret = iwl_trans_send_cmd(mvm->trans, cmd); in iwl_mvm_send_cmd_status() [all …]
|
| D | mac80211.c | 216 static void iwl_mvm_reset_phy_ctxts(struct iwl_mvm *mvm) in iwl_mvm_reset_phy_ctxts() argument 220 memset(mvm->phy_ctxts, 0, sizeof(mvm->phy_ctxts)); in iwl_mvm_reset_phy_ctxts() 222 mvm->phy_ctxts[i].id = i; in iwl_mvm_reset_phy_ctxts() 223 mvm->phy_ctxts[i].ref = 0; in iwl_mvm_reset_phy_ctxts() 234 struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw); in iwl_mvm_get_regdomain() local 237 IWL_DEBUG_LAR(mvm, "Getting regdomain data for %s from FW\n", alpha2); in iwl_mvm_get_regdomain() 239 lockdep_assert_held(&mvm->mutex); in iwl_mvm_get_regdomain() 241 resp = iwl_mvm_update_mcc(mvm, alpha2, src_id); in iwl_mvm_get_regdomain() 243 IWL_DEBUG_LAR(mvm, "Could not get update from FW %d\n", in iwl_mvm_get_regdomain() 255 regd = iwl_parse_nvm_mcc_info(mvm->trans->dev, mvm->cfg, in iwl_mvm_get_regdomain() [all …]
|
| D | ops.c | 142 struct iwl_mvm *mvm = IWL_OP_MODE_GET_MVM(op_mode); in iwl_mvm_nic_config() local 145 u32 phy_config = iwl_mvm_get_phy_config(mvm); in iwl_mvm_nic_config() 155 reg_val |= CSR_HW_REV_STEP(mvm->trans->hw_rev) << in iwl_mvm_nic_config() 157 reg_val |= CSR_HW_REV_DASH(mvm->trans->hw_rev) << in iwl_mvm_nic_config() 176 if (mvm->trans->trans_cfg->device_family < IWL_DEVICE_FAMILY_8000) in iwl_mvm_nic_config() 179 if (iwl_fw_dbg_is_d3_debug_enabled(&mvm->fwrt)) in iwl_mvm_nic_config() 182 iwl_trans_set_bits_mask(mvm->trans, CSR_HW_IF_CONFIG_REG, in iwl_mvm_nic_config() 193 IWL_DEBUG_INFO(mvm, "Radio type=0x%x-0x%x-0x%x\n", radio_cfg_type, in iwl_mvm_nic_config() 201 if (!mvm->trans->cfg->apmg_not_supported) in iwl_mvm_nic_config() 202 iwl_set_bits_mask_prph(mvm->trans, APMG_PS_CTRL_REG, in iwl_mvm_nic_config() [all …]
|
| D | mvm.h | 373 struct iwl_mvm *mvm; member 682 struct iwl_mvm *mvm; member 732 struct iwl_mvm *mvm; member 1188 static inline bool iwl_mvm_is_radio_killed(struct iwl_mvm *mvm) in iwl_mvm_is_radio_killed() argument 1190 return test_bit(IWL_MVM_STATUS_HW_RFKILL, &mvm->status) || in iwl_mvm_is_radio_killed() 1191 test_bit(IWL_MVM_STATUS_HW_CTKILL, &mvm->status); in iwl_mvm_is_radio_killed() 1194 static inline bool iwl_mvm_is_radio_hw_killed(struct iwl_mvm *mvm) in iwl_mvm_is_radio_hw_killed() argument 1196 return test_bit(IWL_MVM_STATUS_HW_RFKILL, &mvm->status); in iwl_mvm_is_radio_hw_killed() 1199 static inline bool iwl_mvm_firmware_running(struct iwl_mvm *mvm) in iwl_mvm_firmware_running() argument 1201 return test_bit(IWL_MVM_STATUS_FIRMWARE_RUNNING, &mvm->status); in iwl_mvm_firmware_running() [all …]
|
| D | scan.c | 146 static inline void *iwl_mvm_get_scan_req_umac_data(struct iwl_mvm *mvm) in iwl_mvm_get_scan_req_umac_data() argument 148 struct iwl_scan_req_umac *cmd = mvm->scan_cmd; in iwl_mvm_get_scan_req_umac_data() 150 if (iwl_mvm_is_adaptive_dwell_v2_supported(mvm)) in iwl_mvm_get_scan_req_umac_data() 153 if (iwl_mvm_is_adaptive_dwell_supported(mvm)) in iwl_mvm_get_scan_req_umac_data() 156 if (iwl_mvm_cdb_scan_api(mvm)) in iwl_mvm_get_scan_req_umac_data() 163 iwl_mvm_get_scan_req_umac_channel(struct iwl_mvm *mvm) in iwl_mvm_get_scan_req_umac_channel() argument 165 struct iwl_scan_req_umac *cmd = mvm->scan_cmd; in iwl_mvm_get_scan_req_umac_channel() 167 if (iwl_mvm_is_adaptive_dwell_v2_supported(mvm)) in iwl_mvm_get_scan_req_umac_channel() 170 if (iwl_mvm_is_adaptive_dwell_supported(mvm)) in iwl_mvm_get_scan_req_umac_channel() 173 if (iwl_mvm_cdb_scan_api(mvm)) in iwl_mvm_get_scan_req_umac_channel() [all …]
|
| D | sta.c | 75 static inline int iwl_mvm_add_sta_cmd_size(struct iwl_mvm *mvm) in iwl_mvm_add_sta_cmd_size() argument 77 if (iwl_mvm_has_new_rx_api(mvm) || in iwl_mvm_add_sta_cmd_size() 78 fw_has_api(&mvm->fw->ucode_capa, IWL_UCODE_TLV_API_STA_TYPE)) in iwl_mvm_add_sta_cmd_size() 84 static int iwl_mvm_find_free_sta_id(struct iwl_mvm *mvm, in iwl_mvm_find_free_sta_id() argument 91 WARN_ON_ONCE(test_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status)); in iwl_mvm_find_free_sta_id() 93 lockdep_assert_held(&mvm->mutex); in iwl_mvm_find_free_sta_id() 100 for (sta_id = 0; sta_id < ARRAY_SIZE(mvm->fw_id_to_mac_id); sta_id++) { in iwl_mvm_find_free_sta_id() 104 if (!rcu_dereference_protected(mvm->fw_id_to_mac_id[sta_id], in iwl_mvm_find_free_sta_id() 105 lockdep_is_held(&mvm->mutex))) in iwl_mvm_find_free_sta_id() 112 int iwl_mvm_sta_send_to_fw(struct iwl_mvm *mvm, struct ieee80211_sta *sta, in iwl_mvm_sta_send_to_fw() argument [all …]
|
| D | tdls.c | 72 void iwl_mvm_teardown_tdls_peers(struct iwl_mvm *mvm) in iwl_mvm_teardown_tdls_peers() argument 78 lockdep_assert_held(&mvm->mutex); in iwl_mvm_teardown_tdls_peers() 80 for (i = 0; i < ARRAY_SIZE(mvm->fw_id_to_mac_id); i++) { in iwl_mvm_teardown_tdls_peers() 81 sta = rcu_dereference_protected(mvm->fw_id_to_mac_id[i], in iwl_mvm_teardown_tdls_peers() 82 lockdep_is_held(&mvm->mutex)); in iwl_mvm_teardown_tdls_peers() 94 int iwl_mvm_tdls_sta_count(struct iwl_mvm *mvm, struct ieee80211_vif *vif) in iwl_mvm_tdls_sta_count() argument 101 lockdep_assert_held(&mvm->mutex); in iwl_mvm_tdls_sta_count() 103 for (i = 0; i < ARRAY_SIZE(mvm->fw_id_to_mac_id); i++) { in iwl_mvm_tdls_sta_count() 104 sta = rcu_dereference_protected(mvm->fw_id_to_mac_id[i], in iwl_mvm_tdls_sta_count() 105 lockdep_is_held(&mvm->mutex)); in iwl_mvm_tdls_sta_count() [all …]
|
| D | time-event.c | 83 void iwl_mvm_te_clear_data(struct iwl_mvm *mvm, in iwl_mvm_te_clear_data() argument 86 lockdep_assert_held(&mvm->time_event_lock); in iwl_mvm_te_clear_data() 100 struct iwl_mvm *mvm = container_of(wk, struct iwl_mvm, roc_done_wk); in iwl_mvm_roc_done_wk() local 109 clear_bit(IWL_MVM_STATUS_ROC_RUNNING, &mvm->status); in iwl_mvm_roc_done_wk() 110 clear_bit(IWL_MVM_STATUS_ROC_AUX_RUNNING, &mvm->status); in iwl_mvm_roc_done_wk() 124 iwl_mvm_flush_sta(mvm, &mvm->aux_sta, true, CMD_ASYNC); in iwl_mvm_roc_done_wk() 127 if (test_and_clear_bit(IWL_MVM_STATUS_NEED_FLUSH_P2P, &mvm->status)) { in iwl_mvm_roc_done_wk() 137 if (!WARN_ON(!mvm->p2p_device_vif)) { in iwl_mvm_roc_done_wk() 138 mvmvif = iwl_mvm_vif_from_mac80211(mvm->p2p_device_vif); in iwl_mvm_roc_done_wk() 139 iwl_mvm_flush_sta(mvm, &mvmvif->bcast_sta, true, in iwl_mvm_roc_done_wk() [all …]
|
| D | nvm.c | 91 static int iwl_nvm_write_chunk(struct iwl_mvm *mvm, u16 section, in iwl_nvm_write_chunk() argument 112 ret = iwl_mvm_send_cmd(mvm, &cmd); in iwl_nvm_write_chunk() 120 IWL_ERR(mvm, in iwl_nvm_write_chunk() 130 static int iwl_nvm_read_chunk(struct iwl_mvm *mvm, u16 section, in iwl_nvm_read_chunk() argument 151 ret = iwl_mvm_send_cmd(mvm, &cmd); in iwl_nvm_read_chunk() 174 IWL_DEBUG_EEPROM(mvm->trans->dev, in iwl_nvm_read_chunk() 179 IWL_DEBUG_EEPROM(mvm->trans->dev, in iwl_nvm_read_chunk() 181 ret, mvm->cfg->name); in iwl_nvm_read_chunk() 188 IWL_ERR(mvm, "NVM ACCESS response with invalid offset %d\n", in iwl_nvm_read_chunk() 203 static int iwl_nvm_write_section(struct iwl_mvm *mvm, u16 section, in iwl_nvm_write_section() argument [all …]
|
| D | coex.c | 147 iwl_get_coex_type(struct iwl_mvm *mvm, const struct ieee80211_vif *vif) in iwl_get_coex_type() argument 174 if (mvm->cfg->bt_shared_single_ant) { in iwl_get_coex_type() 180 primary_ch_phy_id = le32_to_cpu(mvm->last_bt_ci_cmd.primary_ch_phy_id); in iwl_get_coex_type() 182 le32_to_cpu(mvm->last_bt_ci_cmd.secondary_ch_phy_id); in iwl_get_coex_type() 185 ret = le32_to_cpu(mvm->last_bt_notif.primary_ch_lut); in iwl_get_coex_type() 187 ret = le32_to_cpu(mvm->last_bt_notif.secondary_ch_lut); in iwl_get_coex_type() 195 int iwl_mvm_send_bt_init_conf(struct iwl_mvm *mvm) in iwl_mvm_send_bt_init_conf() argument 200 lockdep_assert_held(&mvm->mutex); in iwl_mvm_send_bt_init_conf() 202 if (unlikely(mvm->bt_force_ant_mode != BT_FORCE_ANT_DIS)) { in iwl_mvm_send_bt_init_conf() 203 switch (mvm->bt_force_ant_mode) { in iwl_mvm_send_bt_init_conf() [all …]
|
| D | led.c | 68 static void iwl_mvm_send_led_fw_cmd(struct iwl_mvm *mvm, bool on) in iwl_mvm_send_led_fw_cmd() argument 81 if (!iwl_mvm_firmware_running(mvm)) in iwl_mvm_send_led_fw_cmd() 84 err = iwl_mvm_send_cmd(mvm, &cmd); in iwl_mvm_send_led_fw_cmd() 87 IWL_WARN(mvm, "LED command failed: %d\n", err); in iwl_mvm_send_led_fw_cmd() 90 static void iwl_mvm_led_set(struct iwl_mvm *mvm, bool on) in iwl_mvm_led_set() argument 92 if (fw_has_capa(&mvm->fw->ucode_capa, in iwl_mvm_led_set() 94 iwl_mvm_send_led_fw_cmd(mvm, on); in iwl_mvm_led_set() 98 iwl_write32(mvm->trans, CSR_LED_REG, in iwl_mvm_led_set() 105 struct iwl_mvm *mvm = container_of(led_cdev, struct iwl_mvm, led); in iwl_led_brightness_set() local 107 iwl_mvm_led_set(mvm, brightness > 0); in iwl_led_brightness_set() [all …]
|
| D | debugfs.c | 79 struct iwl_mvm *mvm = file->private_data; in iwl_dbgfs_ctdp_budget_read() local 83 if (!iwl_mvm_is_ctdp_supported(mvm)) in iwl_dbgfs_ctdp_budget_read() 86 if (!iwl_mvm_firmware_running(mvm) || in iwl_dbgfs_ctdp_budget_read() 87 mvm->fwrt.cur_fw_img != IWL_UCODE_REGULAR) in iwl_dbgfs_ctdp_budget_read() 90 mutex_lock(&mvm->mutex); in iwl_dbgfs_ctdp_budget_read() 91 budget = iwl_mvm_ctdp_command(mvm, CTDP_CMD_OPERATION_REPORT, 0); in iwl_dbgfs_ctdp_budget_read() 92 mutex_unlock(&mvm->mutex); in iwl_dbgfs_ctdp_budget_read() 102 static ssize_t iwl_dbgfs_stop_ctdp_write(struct iwl_mvm *mvm, char *buf, in iwl_dbgfs_stop_ctdp_write() argument 107 if (!iwl_mvm_is_ctdp_supported(mvm)) in iwl_dbgfs_stop_ctdp_write() 110 if (!iwl_mvm_firmware_running(mvm) || in iwl_dbgfs_stop_ctdp_write() [all …]
|
| D | d3.c | 80 struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw); in iwl_mvm_set_rekey_data() local 86 mutex_lock(&mvm->mutex); in iwl_mvm_set_rekey_data() 94 mutex_unlock(&mvm->mutex); in iwl_mvm_set_rekey_data() 174 struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw); in iwl_mvm_wowlan_program_keys() local 222 mutex_lock(&mvm->mutex); in iwl_mvm_wowlan_program_keys() 223 ret = iwl_mvm_send_cmd_pdu(mvm, WEP_KEY, 0, in iwl_mvm_wowlan_program_keys() 227 mvm->ptk_ivlen = key->iv_len; in iwl_mvm_wowlan_program_keys() 228 mvm->ptk_icvlen = key->icv_len; in iwl_mvm_wowlan_program_keys() 229 mvm->gtk_ivlen = key->iv_len; in iwl_mvm_wowlan_program_keys() 230 mvm->gtk_icvlen = key->icv_len; in iwl_mvm_wowlan_program_keys() [all …]
|
| D | ftm-initiator.c | 77 static void iwl_mvm_ftm_reset(struct iwl_mvm *mvm) in iwl_mvm_ftm_reset() argument 81 mvm->ftm_initiator.req = NULL; in iwl_mvm_ftm_reset() 82 mvm->ftm_initiator.req_wdev = NULL; in iwl_mvm_ftm_reset() 83 memset(mvm->ftm_initiator.responses, 0, in iwl_mvm_ftm_reset() 84 sizeof(mvm->ftm_initiator.responses)); in iwl_mvm_ftm_reset() 85 list_for_each_entry_safe(e, t, &mvm->ftm_initiator.loc_list, list) { in iwl_mvm_ftm_reset() 91 void iwl_mvm_ftm_restart(struct iwl_mvm *mvm) in iwl_mvm_ftm_restart() argument 101 lockdep_assert_held(&mvm->mutex); in iwl_mvm_ftm_restart() 103 if (!mvm->ftm_initiator.req) in iwl_mvm_ftm_restart() 106 for (i = 0; i < mvm->ftm_initiator.req->n_peers; i++) { in iwl_mvm_ftm_restart() [all …]
|
| D | sta.h | 456 u16 iwl_mvm_tid_queued(struct iwl_mvm *mvm, struct iwl_mvm_tid_data *tid_data); 487 int iwl_mvm_sta_send_to_fw(struct iwl_mvm *mvm, struct ieee80211_sta *sta, 489 int iwl_mvm_add_sta(struct iwl_mvm *mvm, 493 static inline int iwl_mvm_update_sta(struct iwl_mvm *mvm, in iwl_mvm_update_sta() argument 497 return iwl_mvm_sta_send_to_fw(mvm, sta, true, 0); in iwl_mvm_update_sta() 500 int iwl_mvm_wait_sta_queues_empty(struct iwl_mvm *mvm, 502 int iwl_mvm_rm_sta(struct iwl_mvm *mvm, 505 int iwl_mvm_rm_sta_id(struct iwl_mvm *mvm, 508 int iwl_mvm_set_sta_key(struct iwl_mvm *mvm, 513 int iwl_mvm_remove_sta_key(struct iwl_mvm *mvm, [all …]
|
| D | mac-ctxt.c | 92 struct iwl_mvm *mvm; member 230 void iwl_mvm_mac_ctxt_recalc_tsf_id(struct iwl_mvm *mvm, in iwl_mvm_mac_ctxt_recalc_tsf_id() argument 235 .mvm = mvm, in iwl_mvm_mac_ctxt_recalc_tsf_id() 243 mvm->hw, IEEE80211_IFACE_ITER_RESUME_ALL, in iwl_mvm_mac_ctxt_recalc_tsf_id() 253 int iwl_mvm_mac_ctxt_init(struct iwl_mvm *mvm, struct ieee80211_vif *vif) in iwl_mvm_mac_ctxt_init() argument 257 .mvm = mvm, in iwl_mvm_mac_ctxt_init() 267 lockdep_assert_held(&mvm->mutex); in iwl_mvm_mac_ctxt_init() 298 mvm->hw, IEEE80211_IFACE_ITER_RESUME_ALL, in iwl_mvm_mac_ctxt_init() 315 if (WARN_ON_ONCE(test_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status))) in iwl_mvm_mac_ctxt_init() 321 IWL_ERR(mvm, "Failed to init MAC context - no free ID!\n"); in iwl_mvm_mac_ctxt_init() [all …]
|
| D | power.c | 80 int iwl_mvm_beacon_filter_send_cmd(struct iwl_mvm *mvm, in iwl_mvm_beacon_filter_send_cmd() argument 86 IWL_DEBUG_POWER(mvm, "ba_enable_beacon_abort is: %d\n", in iwl_mvm_beacon_filter_send_cmd() 88 IWL_DEBUG_POWER(mvm, "ba_escape_timer is: %d\n", in iwl_mvm_beacon_filter_send_cmd() 90 IWL_DEBUG_POWER(mvm, "bf_debug_flag is: %d\n", in iwl_mvm_beacon_filter_send_cmd() 92 IWL_DEBUG_POWER(mvm, "bf_enable_beacon_filter is: %d\n", in iwl_mvm_beacon_filter_send_cmd() 94 IWL_DEBUG_POWER(mvm, "bf_energy_delta is: %d\n", in iwl_mvm_beacon_filter_send_cmd() 96 IWL_DEBUG_POWER(mvm, "bf_escape_timer is: %d\n", in iwl_mvm_beacon_filter_send_cmd() 98 IWL_DEBUG_POWER(mvm, "bf_roaming_energy_delta is: %d\n", in iwl_mvm_beacon_filter_send_cmd() 100 IWL_DEBUG_POWER(mvm, "bf_roaming_state is: %d\n", in iwl_mvm_beacon_filter_send_cmd() 102 IWL_DEBUG_POWER(mvm, "bf_temp_threshold is: %d\n", in iwl_mvm_beacon_filter_send_cmd() [all …]
|
| D | rx.c | 75 void iwl_mvm_rx_rx_phy_cmd(struct iwl_mvm *mvm, struct iwl_rx_cmd_buffer *rxb) in iwl_mvm_rx_rx_phy_cmd() argument 79 memcpy(&mvm->last_phy_info, pkt->data, sizeof(mvm->last_phy_info)); in iwl_mvm_rx_rx_phy_cmd() 80 mvm->ampdu_ref++; in iwl_mvm_rx_rx_phy_cmd() 83 if (mvm->last_phy_info.phy_flags & cpu_to_le16(RX_RES_PHY_FLAGS_AGG)) { in iwl_mvm_rx_rx_phy_cmd() 84 spin_lock(&mvm->drv_stats_lock); in iwl_mvm_rx_rx_phy_cmd() 85 mvm->drv_rx_stats.ampdu_count++; in iwl_mvm_rx_rx_phy_cmd() 86 spin_unlock(&mvm->drv_stats_lock); in iwl_mvm_rx_rx_phy_cmd() 96 static void iwl_mvm_pass_packet_to_mac80211(struct iwl_mvm *mvm, in iwl_mvm_pass_packet_to_mac80211() argument 144 ieee80211_rx_napi(mvm->hw, sta, skb, napi); in iwl_mvm_pass_packet_to_mac80211() 153 static void iwl_mvm_get_signal_strength(struct iwl_mvm *mvm, in iwl_mvm_get_signal_strength() argument [all …]
|
| D | phy-ctxt.c | 141 static void iwl_mvm_phy_ctxt_cmd_data(struct iwl_mvm *mvm, in iwl_mvm_phy_ctxt_cmd_data() argument 148 iwl_mvm_chan_info_cmd_tail(mvm, &cmd->ci); in iwl_mvm_phy_ctxt_cmd_data() 151 iwl_mvm_set_chan_info_chandef(mvm, &cmd->ci, chandef); in iwl_mvm_phy_ctxt_cmd_data() 164 if (active_cnt == 1 && iwl_mvm_rx_diversity_allowed(mvm)) { in iwl_mvm_phy_ctxt_cmd_data() 169 tail->rxchain_info = cpu_to_le32(iwl_mvm_get_valid_rx_ant(mvm) << in iwl_mvm_phy_ctxt_cmd_data() 175 if (unlikely(mvm->dbgfs_rx_phyinfo)) in iwl_mvm_phy_ctxt_cmd_data() 176 tail->rxchain_info = cpu_to_le32(mvm->dbgfs_rx_phyinfo); in iwl_mvm_phy_ctxt_cmd_data() 179 tail->txchain_info = cpu_to_le32(iwl_mvm_get_valid_tx_ant(mvm)); in iwl_mvm_phy_ctxt_cmd_data() 188 static int iwl_mvm_phy_ctxt_apply(struct iwl_mvm *mvm, in iwl_mvm_phy_ctxt_apply() argument 196 u16 len = sizeof(cmd) - iwl_mvm_chan_info_padding(mvm); in iwl_mvm_phy_ctxt_apply() [all …]
|
| D | tx.c | 76 iwl_mvm_bar_check_trigger(struct iwl_mvm *mvm, const u8 *addr, in iwl_mvm_bar_check_trigger() argument 82 trig = iwl_fw_dbg_trigger_on(&mvm->fwrt, NULL, FW_DBG_TRIGGER_BA); in iwl_mvm_bar_check_trigger() 91 iwl_fw_dbg_collect_trig(&mvm->fwrt, trig, in iwl_mvm_bar_check_trigger() 99 static u16 iwl_mvm_tx_csum(struct iwl_mvm *mvm, struct sk_buff *skb, in iwl_mvm_tx_csum() argument 116 if (WARN_ONCE(!(mvm->hw->netdev_features & IWL_TX_CSUM_NETIF_FLAGS) || in iwl_mvm_tx_csum() 186 if (!iwl_mvm_has_new_tx_api(mvm) && info->control.hw_key && in iwl_mvm_tx_csum() 201 void iwl_mvm_set_tx_cmd(struct iwl_mvm *mvm, struct sk_buff *skb, in iwl_mvm_set_tx_cmd() argument 241 iwl_mvm_bar_check_trigger(mvm, bar->ra, tx_cmd->tid_tspec, in iwl_mvm_set_tx_cmd() 261 tx_flags |= iwl_mvm_bt_coex_tx_prio(mvm, hdr, info, ac) << in iwl_mvm_set_tx_cmd() 282 if (ieee80211_is_data(fc) && len > mvm->rts_threshold && in iwl_mvm_set_tx_cmd() [all …]
|
| D | rs.c | 120 typedef bool (*allow_column_func_t) (struct iwl_mvm *mvm, 133 static bool rs_ant_allow(struct iwl_mvm *mvm, struct ieee80211_sta *sta, in rs_ant_allow() argument 137 return iwl_mvm_bt_coex_is_ant_avail(mvm, next_col->ant); in rs_ant_allow() 140 static bool rs_mimo_allow(struct iwl_mvm *mvm, struct ieee80211_sta *sta, in rs_mimo_allow() argument 150 if (num_of_ant(iwl_mvm_get_valid_tx_ant(mvm)) < 2) in rs_mimo_allow() 153 if (!iwl_mvm_bt_coex_is_mimo_allowed(mvm, sta)) in rs_mimo_allow() 156 if (mvm->nvm_data->sku_cap_mimo_disabled) in rs_mimo_allow() 162 static bool rs_siso_allow(struct iwl_mvm *mvm, struct ieee80211_sta *sta, in rs_siso_allow() argument 172 static bool rs_sgi_allow(struct iwl_mvm *mvm, struct ieee80211_sta *sta, in rs_sgi_allow() argument 380 static void rs_rate_scale_perform(struct iwl_mvm *mvm, [all …]
|
| D | debugfs-vif.c | 65 static void iwl_dbgfs_update_pm(struct iwl_mvm *mvm, in iwl_dbgfs_update_pm() argument 79 IWL_DEBUG_POWER(mvm, "debugfs: set keep_alive= %d sec\n", val); in iwl_dbgfs_update_pm() 81 IWL_WARN(mvm, in iwl_dbgfs_update_pm() 88 IWL_DEBUG_POWER(mvm, "skip_over_dtim %s\n", in iwl_dbgfs_update_pm() 93 IWL_DEBUG_POWER(mvm, "skip_dtim_periods=%d\n", val); in iwl_dbgfs_update_pm() 97 IWL_DEBUG_POWER(mvm, "rx_data_timeout=%d\n", val); in iwl_dbgfs_update_pm() 101 IWL_DEBUG_POWER(mvm, "tx_data_timeout=%d\n", val); in iwl_dbgfs_update_pm() 105 IWL_DEBUG_POWER(mvm, "lprx %s\n", val ? "enabled" : "disabled"); in iwl_dbgfs_update_pm() 109 IWL_DEBUG_POWER(mvm, "lprx_rssi_threshold=%d\n", val); in iwl_dbgfs_update_pm() 113 IWL_DEBUG_POWER(mvm, "snooze_enable=%d\n", val); in iwl_dbgfs_update_pm() [all …]
|
| D | quota.c | 144 static void iwl_mvm_adjust_quota_for_noa(struct iwl_mvm *mvm, in iwl_mvm_adjust_quota_for_noa() argument 151 if (!mvm->noa_duration || !mvm->noa_vif) in iwl_mvm_adjust_quota_for_noa() 154 mvmvif = iwl_mvm_vif_from_mac80211(mvm->noa_vif); in iwl_mvm_adjust_quota_for_noa() 159 beacon_int = mvm->noa_vif->bss_conf.beacon_int; in iwl_mvm_adjust_quota_for_noa() 163 iwl_mvm_quota_cmd_get_quota(mvm, cmd, in iwl_mvm_adjust_quota_for_noa() 172 quota *= (beacon_int - mvm->noa_duration); in iwl_mvm_adjust_quota_for_noa() 175 IWL_DEBUG_QUOTA(mvm, "quota: adjust for NoA from %d to %d\n", in iwl_mvm_adjust_quota_for_noa() 183 int iwl_mvm_update_quotas(struct iwl_mvm *mvm, in iwl_mvm_update_quotas() argument 194 struct iwl_time_quota_cmd *last = &mvm->last_quota_cmd; in iwl_mvm_update_quotas() 198 lockdep_assert_held(&mvm->mutex); in iwl_mvm_update_quotas() [all …]
|