Home
last modified time | relevance | path

Searched refs:mvm (Results 1 – 31 of 31) sorted by relevance

/linux-4.1.27/drivers/net/wireless/iwlwifi/mvm/
Dfw.c90 iwl_get_ucode_image(struct iwl_mvm *mvm, enum iwl_ucode_type ucode_type) in iwl_get_ucode_image() argument
95 return &mvm->fw->img[ucode_type]; in iwl_get_ucode_image()
98 static int iwl_send_tx_ant_cfg(struct iwl_mvm *mvm, u8 valid_tx_ant) in iwl_send_tx_ant_cfg() argument
104 IWL_DEBUG_FW(mvm, "select valid tx ant: %u\n", valid_tx_ant); in iwl_send_tx_ant_cfg()
105 return iwl_mvm_send_cmd_pdu(mvm, TX_ANT_CONFIGURATION_CMD, 0, in iwl_send_tx_ant_cfg()
112 struct iwl_mvm *mvm = in iwl_alive_fn() local
122 mvm->support_umac_log = false; in iwl_alive_fn()
123 mvm->error_event_table = in iwl_alive_fn()
125 mvm->log_event_table = in iwl_alive_fn()
131 IWL_DEBUG_FW(mvm, in iwl_alive_fn()
[all …]
Dmac80211.c213 void iwl_mvm_ref(struct iwl_mvm *mvm, enum iwl_mvm_ref_type ref_type) in iwl_mvm_ref() argument
215 if (!iwl_mvm_is_d0i3_supported(mvm)) in iwl_mvm_ref()
218 IWL_DEBUG_RPM(mvm, "Take mvm reference - type %d\n", ref_type); in iwl_mvm_ref()
219 spin_lock_bh(&mvm->refs_lock); in iwl_mvm_ref()
220 mvm->refs[ref_type]++; in iwl_mvm_ref()
221 spin_unlock_bh(&mvm->refs_lock); in iwl_mvm_ref()
222 iwl_trans_ref(mvm->trans); in iwl_mvm_ref()
225 void iwl_mvm_unref(struct iwl_mvm *mvm, enum iwl_mvm_ref_type ref_type) in iwl_mvm_unref() argument
227 if (!iwl_mvm_is_d0i3_supported(mvm)) in iwl_mvm_unref()
230 IWL_DEBUG_RPM(mvm, "Leave mvm reference - type %d\n", ref_type); in iwl_mvm_unref()
[all …]
Dops.c143 struct iwl_mvm *mvm = IWL_OP_MODE_GET_MVM(op_mode); in iwl_mvm_nic_config() local
146 u32 phy_config = iwl_mvm_get_phy_config(mvm); in iwl_mvm_nic_config()
156 reg_val |= CSR_HW_REV_STEP(mvm->trans->hw_rev) << in iwl_mvm_nic_config()
158 reg_val |= CSR_HW_REV_DASH(mvm->trans->hw_rev) << in iwl_mvm_nic_config()
176 if (mvm->trans->cfg->device_family != IWL_DEVICE_FAMILY_8000) in iwl_mvm_nic_config()
179 iwl_trans_set_bits_mask(mvm->trans, CSR_HW_IF_CONFIG_REG, in iwl_mvm_nic_config()
189 IWL_DEBUG_INFO(mvm, "Radio type=0x%x-0x%x-0x%x\n", radio_cfg_type, in iwl_mvm_nic_config()
197 if (mvm->trans->cfg->device_family != IWL_DEVICE_FAMILY_8000) in iwl_mvm_nic_config()
198 iwl_set_bits_mask_prph(mvm->trans, APMG_PS_CTRL_REG, in iwl_mvm_nic_config()
206 int (*fn)(struct iwl_mvm *mvm, struct iwl_rx_cmd_buffer *rxb,
[all …]
Dutils.c78 int iwl_mvm_send_cmd(struct iwl_mvm *mvm, struct iwl_host_cmd *cmd) in iwl_mvm_send_cmd() argument
83 if (WARN_ON(mvm->d3_test_active)) in iwl_mvm_send_cmd()
93 lockdep_assert_held(&mvm->mutex); in iwl_mvm_send_cmd()
95 ret = iwl_trans_send_cmd(mvm->trans, cmd); in iwl_mvm_send_cmd()
111 int iwl_mvm_send_cmd_pdu(struct iwl_mvm *mvm, u8 id, in iwl_mvm_send_cmd_pdu() argument
121 return iwl_mvm_send_cmd(mvm, &cmd); in iwl_mvm_send_cmd_pdu()
127 int iwl_mvm_send_cmd_status(struct iwl_mvm *mvm, struct iwl_host_cmd *cmd, in iwl_mvm_send_cmd_status() argument
134 lockdep_assert_held(&mvm->mutex); in iwl_mvm_send_cmd_status()
137 if (WARN_ON(mvm->d3_test_active)) in iwl_mvm_send_cmd_status()
151 ret = iwl_trans_send_cmd(mvm->trans, cmd); in iwl_mvm_send_cmd_status()
[all …]
Dtt.c70 static void iwl_mvm_enter_ctkill(struct iwl_mvm *mvm) in iwl_mvm_enter_ctkill() argument
72 struct iwl_mvm_tt_mgmt *tt = &mvm->thermal_throttle; in iwl_mvm_enter_ctkill()
73 u32 duration = mvm->thermal_throttle.params->ct_kill_duration; in iwl_mvm_enter_ctkill()
75 if (test_bit(IWL_MVM_STATUS_HW_CTKILL, &mvm->status)) in iwl_mvm_enter_ctkill()
78 IWL_ERR(mvm, "Enter CT Kill\n"); in iwl_mvm_enter_ctkill()
79 iwl_mvm_set_hw_ctkill_state(mvm, true); in iwl_mvm_enter_ctkill()
88 if (!mvm->temperature_test) in iwl_mvm_enter_ctkill()
93 static void iwl_mvm_exit_ctkill(struct iwl_mvm *mvm) in iwl_mvm_exit_ctkill() argument
95 if (!test_bit(IWL_MVM_STATUS_HW_CTKILL, &mvm->status)) in iwl_mvm_exit_ctkill()
98 IWL_ERR(mvm, "Exit CT Kill\n"); in iwl_mvm_exit_ctkill()
[all …]
Dtime-event.c84 void iwl_mvm_te_clear_data(struct iwl_mvm *mvm, in iwl_mvm_te_clear_data() argument
87 lockdep_assert_held(&mvm->time_event_lock); in iwl_mvm_te_clear_data()
101 struct iwl_mvm *mvm = container_of(wk, struct iwl_mvm, roc_done_wk); in iwl_mvm_roc_done_wk() local
111 if (test_and_clear_bit(IWL_MVM_STATUS_ROC_RUNNING, &mvm->status)) { in iwl_mvm_roc_done_wk()
113 iwl_mvm_unref(mvm, IWL_MVM_REF_ROC); in iwl_mvm_roc_done_wk()
115 if (test_and_clear_bit(IWL_MVM_STATUS_ROC_AUX_RUNNING, &mvm->status)) { in iwl_mvm_roc_done_wk()
116 queues |= BIT(mvm->aux_queue); in iwl_mvm_roc_done_wk()
117 iwl_mvm_unref(mvm, IWL_MVM_REF_ROC_AUX); in iwl_mvm_roc_done_wk()
132 iwl_mvm_flush_tx_path(mvm, queues, false); in iwl_mvm_roc_done_wk()
135 static void iwl_mvm_roc_finished(struct iwl_mvm *mvm) in iwl_mvm_roc_finished() argument
[all …]
Dtdls.c73 void iwl_mvm_teardown_tdls_peers(struct iwl_mvm *mvm) in iwl_mvm_teardown_tdls_peers() argument
79 lockdep_assert_held(&mvm->mutex); in iwl_mvm_teardown_tdls_peers()
82 sta = rcu_dereference_protected(mvm->fw_id_to_mac_id[i], in iwl_mvm_teardown_tdls_peers()
83 lockdep_is_held(&mvm->mutex)); in iwl_mvm_teardown_tdls_peers()
95 int iwl_mvm_tdls_sta_count(struct iwl_mvm *mvm, struct ieee80211_vif *vif) in iwl_mvm_tdls_sta_count() argument
102 lockdep_assert_held(&mvm->mutex); in iwl_mvm_tdls_sta_count()
105 sta = rcu_dereference_protected(mvm->fw_id_to_mac_id[i], in iwl_mvm_tdls_sta_count()
106 lockdep_is_held(&mvm->mutex)); in iwl_mvm_tdls_sta_count()
122 static void iwl_mvm_tdls_config(struct iwl_mvm *mvm, struct ieee80211_vif *vif) in iwl_mvm_tdls_config() argument
137 lockdep_assert_held(&mvm->mutex); in iwl_mvm_tdls_config()
[all …]
Dscan.c96 static int iwl_umac_scan_stop(struct iwl_mvm *mvm,
99 static u8 iwl_mvm_scan_rx_ant(struct iwl_mvm *mvm) in iwl_mvm_scan_rx_ant() argument
101 if (mvm->scan_rx_ant != ANT_NONE) in iwl_mvm_scan_rx_ant()
102 return mvm->scan_rx_ant; in iwl_mvm_scan_rx_ant()
103 return iwl_mvm_get_valid_rx_ant(mvm); in iwl_mvm_scan_rx_ant()
106 static inline __le16 iwl_mvm_scan_rx_chain(struct iwl_mvm *mvm) in iwl_mvm_scan_rx_chain() argument
111 rx_ant = iwl_mvm_scan_rx_ant(mvm); in iwl_mvm_scan_rx_chain()
128 iwl_mvm_scan_rate_n_flags(struct iwl_mvm *mvm, enum ieee80211_band band, in iwl_mvm_scan_rate_n_flags() argument
133 mvm->scan_last_antenna_idx = in iwl_mvm_scan_rate_n_flags()
134 iwl_mvm_next_antenna(mvm, iwl_mvm_get_valid_tx_ant(mvm), in iwl_mvm_scan_rate_n_flags()
[all …]
Dnvm.c95 static int iwl_nvm_write_chunk(struct iwl_mvm *mvm, u16 section, in iwl_nvm_write_chunk() argument
113 return iwl_mvm_send_cmd(mvm, &cmd); in iwl_nvm_write_chunk()
116 static int iwl_nvm_read_chunk(struct iwl_mvm *mvm, u16 section, in iwl_nvm_read_chunk() argument
137 ret = iwl_mvm_send_cmd(mvm, &cmd); in iwl_nvm_read_chunk()
143 IWL_ERR(mvm, "Bad return from NVM_ACCES_COMMAND (0x%08X)\n", in iwl_nvm_read_chunk()
166 IWL_DEBUG_EEPROM(mvm->trans->dev, in iwl_nvm_read_chunk()
171 IWL_DEBUG_EEPROM(mvm->trans->dev, in iwl_nvm_read_chunk()
173 ret, mvm->cfg->name); in iwl_nvm_read_chunk()
180 IWL_ERR(mvm, "NVM ACCESS response with invalid offset %d\n", in iwl_nvm_read_chunk()
195 static int iwl_nvm_write_section(struct iwl_mvm *mvm, u16 section, in iwl_nvm_write_section() argument
[all …]
Dmvm.h361 struct iwl_mvm *mvm; member
867 static inline bool iwl_mvm_is_radio_killed(struct iwl_mvm *mvm) in iwl_mvm_is_radio_killed() argument
869 return test_bit(IWL_MVM_STATUS_HW_RFKILL, &mvm->status) || in iwl_mvm_is_radio_killed()
870 test_bit(IWL_MVM_STATUS_HW_CTKILL, &mvm->status); in iwl_mvm_is_radio_killed()
873 static inline bool iwl_mvm_is_radio_hw_killed(struct iwl_mvm *mvm) in iwl_mvm_is_radio_hw_killed() argument
875 return test_bit(IWL_MVM_STATUS_HW_RFKILL, &mvm->status); in iwl_mvm_is_radio_hw_killed()
882 iwl_mvm_sta_from_staid_rcu(struct iwl_mvm *mvm, u8 sta_id) in iwl_mvm_sta_from_staid_rcu() argument
886 if (sta_id >= ARRAY_SIZE(mvm->fw_id_to_mac_id)) in iwl_mvm_sta_from_staid_rcu()
889 sta = rcu_dereference(mvm->fw_id_to_mac_id[sta_id]); in iwl_mvm_sta_from_staid_rcu()
899 iwl_mvm_sta_from_staid_protected(struct iwl_mvm *mvm, u8 sta_id) in iwl_mvm_sta_from_staid_protected() argument
[all …]
Dsta.c71 static int iwl_mvm_find_free_sta_id(struct iwl_mvm *mvm, in iwl_mvm_find_free_sta_id() argument
78 WARN_ON_ONCE(test_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status)); in iwl_mvm_find_free_sta_id()
80 lockdep_assert_held(&mvm->mutex); in iwl_mvm_find_free_sta_id()
91 if (!rcu_dereference_protected(mvm->fw_id_to_mac_id[sta_id], in iwl_mvm_find_free_sta_id()
92 lockdep_is_held(&mvm->mutex))) in iwl_mvm_find_free_sta_id()
99 int iwl_mvm_sta_send_to_fw(struct iwl_mvm *mvm, struct ieee80211_sta *sta, in iwl_mvm_sta_send_to_fw() argument
189 ret = iwl_mvm_send_cmd_pdu_status(mvm, ADD_STA, sizeof(add_sta_cmd), in iwl_mvm_sta_send_to_fw()
196 IWL_DEBUG_ASSOC(mvm, "ADD_STA PASSED\n"); in iwl_mvm_sta_send_to_fw()
200 IWL_ERR(mvm, "ADD_STA failed\n"); in iwl_mvm_sta_send_to_fw()
207 static int iwl_mvm_tdls_sta_init(struct iwl_mvm *mvm, in iwl_mvm_tdls_sta_init() argument
[all …]
Ddebugfs.c73 static ssize_t iwl_dbgfs_tx_flush_write(struct iwl_mvm *mvm, char *buf, in iwl_dbgfs_tx_flush_write() argument
79 if (!mvm->ucode_loaded || mvm->cur_ucode != IWL_UCODE_REGULAR) in iwl_dbgfs_tx_flush_write()
85 IWL_ERR(mvm, "FLUSHING queues: scd_q_msk = 0x%x\n", scd_q_msk); in iwl_dbgfs_tx_flush_write()
87 mutex_lock(&mvm->mutex); in iwl_dbgfs_tx_flush_write()
88 ret = iwl_mvm_flush_tx_path(mvm, scd_q_msk, true) ? : count; in iwl_dbgfs_tx_flush_write()
89 mutex_unlock(&mvm->mutex); in iwl_dbgfs_tx_flush_write()
94 static ssize_t iwl_dbgfs_sta_drain_write(struct iwl_mvm *mvm, char *buf, in iwl_dbgfs_sta_drain_write() argument
100 if (!mvm->ucode_loaded || mvm->cur_ucode != IWL_UCODE_REGULAR) in iwl_dbgfs_sta_drain_write()
110 mutex_lock(&mvm->mutex); in iwl_dbgfs_sta_drain_write()
112 mvmsta = iwl_mvm_sta_from_staid_protected(mvm, sta_id); in iwl_dbgfs_sta_drain_write()
[all …]
Dcoex.c361 iwl_get_coex_type(struct iwl_mvm *mvm, const struct ieee80211_vif *vif) in iwl_get_coex_type() argument
388 if (mvm->cfg->bt_shared_single_ant) { in iwl_get_coex_type()
394 primary_ch_phy_id = le32_to_cpu(mvm->last_bt_ci_cmd.primary_ch_phy_id); in iwl_get_coex_type()
396 le32_to_cpu(mvm->last_bt_ci_cmd.secondary_ch_phy_id); in iwl_get_coex_type()
399 ret = le32_to_cpu(mvm->last_bt_notif.primary_ch_lut); in iwl_get_coex_type()
401 ret = le32_to_cpu(mvm->last_bt_notif.secondary_ch_lut); in iwl_get_coex_type()
409 int iwl_send_bt_init_conf(struct iwl_mvm *mvm) in iwl_send_bt_init_conf() argument
420 if (!(mvm->fw->ucode_capa.api[0] & IWL_UCODE_TLV_API_BT_COEX_SPLIT)) in iwl_send_bt_init_conf()
421 return iwl_send_bt_init_conf_old(mvm); in iwl_send_bt_init_conf()
428 lockdep_assert_held(&mvm->mutex); in iwl_send_bt_init_conf()
[all …]
Dled.c70 static void iwl_mvm_led_enable(struct iwl_mvm *mvm) in iwl_mvm_led_enable() argument
72 iwl_write32(mvm->trans, CSR_LED_REG, CSR_LED_REG_TURN_ON); in iwl_mvm_led_enable()
76 static void iwl_mvm_led_disable(struct iwl_mvm *mvm) in iwl_mvm_led_disable() argument
78 iwl_write32(mvm->trans, CSR_LED_REG, CSR_LED_REG_TURN_OFF); in iwl_mvm_led_disable()
84 struct iwl_mvm *mvm = container_of(led_cdev, struct iwl_mvm, led); in iwl_led_brightness_set() local
86 iwl_mvm_led_enable(mvm); in iwl_led_brightness_set()
88 iwl_mvm_led_disable(mvm); in iwl_led_brightness_set()
91 int iwl_mvm_leds_init(struct iwl_mvm *mvm) in iwl_mvm_leds_init() argument
98 IWL_ERR(mvm, "Blink led mode not supported, used default\n"); in iwl_mvm_leds_init()
104 IWL_INFO(mvm, "Led disabled\n"); in iwl_mvm_leds_init()
[all …]
Drx.c74 int 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()
98 static void iwl_mvm_pass_packet_to_mac80211(struct iwl_mvm *mvm, in iwl_mvm_pass_packet_to_mac80211() argument
132 ieee80211_rx(mvm->hw, skb); in iwl_mvm_pass_packet_to_mac80211()
141 static void iwl_mvm_get_signal_strength(struct iwl_mvm *mvm, in iwl_mvm_get_signal_strength() argument
[all …]
Dcoex_legacy.c105 static int iwl_send_bt_prio_tbl(struct iwl_mvm *mvm) in iwl_send_bt_prio_tbl() argument
107 if (unlikely(mvm->bt_force_ant_mode != BT_FORCE_ANT_DIS)) in iwl_send_bt_prio_tbl()
110 return iwl_mvm_send_cmd_pdu(mvm, BT_COEX_PRIO_TABLE, 0, in iwl_send_bt_prio_tbl()
560 iwl_get_coex_type(struct iwl_mvm *mvm, const struct ieee80211_vif *vif) in iwl_get_coex_type() argument
586 if (mvm->cfg->bt_shared_single_ant) { in iwl_get_coex_type()
593 if (mvm->last_bt_ci_cmd_old.primary_ch_phy_id == phy_ctx_id) in iwl_get_coex_type()
594 ret = le32_to_cpu(mvm->last_bt_notif_old.primary_ch_lut); in iwl_get_coex_type()
595 else if (mvm->last_bt_ci_cmd_old.secondary_ch_phy_id == phy_ctx_id) in iwl_get_coex_type()
596 ret = le32_to_cpu(mvm->last_bt_notif_old.secondary_ch_lut); in iwl_get_coex_type()
604 int iwl_send_bt_init_conf_old(struct iwl_mvm *mvm) in iwl_send_bt_init_conf_old() argument
[all …]
Dmac-ctxt.c82 struct iwl_mvm *mvm; member
244 unsigned long iwl_mvm_get_used_hw_queues(struct iwl_mvm *mvm, in iwl_mvm_get_used_hw_queues() argument
252 BIT(mvm->aux_queue) | in iwl_mvm_get_used_hw_queues()
256 lockdep_assert_held(&mvm->mutex); in iwl_mvm_get_used_hw_queues()
260 mvm->hw, IEEE80211_IFACE_ITER_RESUME_ALL, in iwl_mvm_get_used_hw_queues()
264 ieee80211_iterate_stations_atomic(mvm->hw, in iwl_mvm_get_used_hw_queues()
272 for_each_set_bit(sta_id, mvm->sta_drained, IWL_MVM_STATION_COUNT) in iwl_mvm_get_used_hw_queues()
273 data.used_hw_queues |= mvm->tfd_drained[sta_id]; in iwl_mvm_get_used_hw_queues()
302 void iwl_mvm_mac_ctxt_recalc_tsf_id(struct iwl_mvm *mvm, in iwl_mvm_mac_ctxt_recalc_tsf_id() argument
307 .mvm = mvm, in iwl_mvm_mac_ctxt_recalc_tsf_id()
[all …]
Dd3.c81 struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw); in iwl_mvm_set_rekey_data() local
87 mutex_lock(&mvm->mutex); in iwl_mvm_set_rekey_data()
95 mutex_unlock(&mvm->mutex); in iwl_mvm_set_rekey_data()
149 struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw); in iwl_mvm_wowlan_program_keys() local
161 mutex_lock(&mvm->mutex); in iwl_mvm_wowlan_program_keys()
198 ret = iwl_mvm_send_cmd_pdu(mvm, WEP_KEY, 0, sizeof(wkc), &wkc); in iwl_mvm_wowlan_program_keys()
201 mvm->ptk_ivlen = key->iv_len; in iwl_mvm_wowlan_program_keys()
202 mvm->ptk_icvlen = key->icv_len; in iwl_mvm_wowlan_program_keys()
203 mvm->gtk_ivlen = key->iv_len; in iwl_mvm_wowlan_program_keys()
204 mvm->gtk_icvlen = key->icv_len; in iwl_mvm_wowlan_program_keys()
[all …]
Dpower.c81 int iwl_mvm_beacon_filter_send_cmd(struct iwl_mvm *mvm, in iwl_mvm_beacon_filter_send_cmd() argument
85 IWL_DEBUG_POWER(mvm, "ba_enable_beacon_abort is: %d\n", in iwl_mvm_beacon_filter_send_cmd()
87 IWL_DEBUG_POWER(mvm, "ba_escape_timer is: %d\n", in iwl_mvm_beacon_filter_send_cmd()
89 IWL_DEBUG_POWER(mvm, "bf_debug_flag is: %d\n", in iwl_mvm_beacon_filter_send_cmd()
91 IWL_DEBUG_POWER(mvm, "bf_enable_beacon_filter is: %d\n", in iwl_mvm_beacon_filter_send_cmd()
93 IWL_DEBUG_POWER(mvm, "bf_energy_delta is: %d\n", in iwl_mvm_beacon_filter_send_cmd()
95 IWL_DEBUG_POWER(mvm, "bf_escape_timer is: %d\n", in iwl_mvm_beacon_filter_send_cmd()
97 IWL_DEBUG_POWER(mvm, "bf_roaming_energy_delta is: %d\n", in iwl_mvm_beacon_filter_send_cmd()
99 IWL_DEBUG_POWER(mvm, "bf_roaming_state is: %d\n", in iwl_mvm_beacon_filter_send_cmd()
101 IWL_DEBUG_POWER(mvm, "bf_temp_threshold is: %d\n", in iwl_mvm_beacon_filter_send_cmd()
[all …]
Dsta.h351 int iwl_mvm_sta_send_to_fw(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
353 int iwl_mvm_add_sta(struct iwl_mvm *mvm,
356 int iwl_mvm_update_sta(struct iwl_mvm *mvm,
359 int iwl_mvm_rm_sta(struct iwl_mvm *mvm,
362 int iwl_mvm_rm_sta_id(struct iwl_mvm *mvm,
365 int iwl_mvm_set_sta_key(struct iwl_mvm *mvm,
370 int iwl_mvm_remove_sta_key(struct iwl_mvm *mvm,
375 void iwl_mvm_update_tkip_key(struct iwl_mvm *mvm,
381 int iwl_mvm_rx_eosp_notif(struct iwl_mvm *mvm,
386 int iwl_mvm_sta_rx_agg(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
[all …]
Dphy-ctxt.c142 static void iwl_mvm_phy_ctxt_cmd_data(struct iwl_mvm *mvm, in iwl_mvm_phy_ctxt_cmd_data() argument
168 if (active_cnt == 1 && iwl_mvm_rx_diversity_allowed(mvm)) { in iwl_mvm_phy_ctxt_cmd_data()
173 cmd->rxchain_info = cpu_to_le32(iwl_mvm_get_valid_rx_ant(mvm) << in iwl_mvm_phy_ctxt_cmd_data()
179 if (unlikely(mvm->dbgfs_rx_phyinfo)) in iwl_mvm_phy_ctxt_cmd_data()
180 cmd->rxchain_info = cpu_to_le32(mvm->dbgfs_rx_phyinfo); in iwl_mvm_phy_ctxt_cmd_data()
183 cmd->txchain_info = cpu_to_le32(iwl_mvm_get_valid_tx_ant(mvm)); in iwl_mvm_phy_ctxt_cmd_data()
192 static int iwl_mvm_phy_ctxt_apply(struct iwl_mvm *mvm, in iwl_mvm_phy_ctxt_apply() argument
205 iwl_mvm_phy_ctxt_cmd_data(mvm, &cmd, chandef, in iwl_mvm_phy_ctxt_apply()
208 ret = iwl_mvm_send_cmd_pdu(mvm, PHY_CONTEXT_CMD, 0, in iwl_mvm_phy_ctxt_apply()
212 IWL_ERR(mvm, "PHY ctxt cmd error. ret=%d\n", ret); in iwl_mvm_phy_ctxt_apply()
[all …]
Dtx.c76 void iwl_mvm_set_tx_cmd(struct iwl_mvm *mvm, struct sk_buff *skb, in iwl_mvm_set_tx_cmd() argument
124 tx_flags |= iwl_mvm_bt_coex_tx_prio(mvm, hdr, info, ac) << in iwl_mvm_set_tx_cmd()
143 if (ieee80211_is_data(fc) && len > mvm->rts_threshold && in iwl_mvm_set_tx_cmd()
147 if ((mvm->fw->ucode_capa.capa[0] & in iwl_mvm_set_tx_cmd()
163 void iwl_mvm_set_tx_cmd_rate(struct iwl_mvm *mvm, struct iwl_tx_cmd *tx_cmd, in iwl_mvm_set_tx_cmd_rate() argument
210 &mvm->nvm_data->bands[info->band], sta); in iwl_mvm_set_tx_cmd_rate()
222 mvm->mgmt_last_antenna_idx = in iwl_mvm_set_tx_cmd_rate()
223 iwl_mvm_next_antenna(mvm, iwl_mvm_get_valid_tx_ant(mvm), in iwl_mvm_set_tx_cmd_rate()
224 mvm->mgmt_last_antenna_idx); in iwl_mvm_set_tx_cmd_rate()
227 !iwl_mvm_bt_coex_is_shared_ant_avail(mvm)) in iwl_mvm_set_tx_cmd_rate()
[all …]
Drs.c139 typedef bool (*allow_column_func_t) (struct iwl_mvm *mvm,
152 static bool rs_ant_allow(struct iwl_mvm *mvm, struct ieee80211_sta *sta, in rs_ant_allow() argument
156 return iwl_mvm_bt_coex_is_ant_avail(mvm, next_col->ant); in rs_ant_allow()
159 static bool rs_mimo_allow(struct iwl_mvm *mvm, struct ieee80211_sta *sta, in rs_mimo_allow() argument
172 if (num_of_ant(iwl_mvm_get_valid_tx_ant(mvm)) < 2) in rs_mimo_allow()
175 if (!iwl_mvm_bt_coex_is_mimo_allowed(mvm, sta)) in rs_mimo_allow()
183 if (mvm->nvm_data->sku_cap_mimo_disabled) in rs_mimo_allow()
189 static bool rs_siso_allow(struct iwl_mvm *mvm, struct ieee80211_sta *sta, in rs_siso_allow() argument
199 static bool rs_sgi_allow(struct iwl_mvm *mvm, struct ieee80211_sta *sta, in rs_sgi_allow() argument
401 static void rs_rate_scale_perform(struct iwl_mvm *mvm,
[all …]
Ddebugfs-vif.c68 static void iwl_dbgfs_update_pm(struct iwl_mvm *mvm, in iwl_dbgfs_update_pm() argument
82 IWL_DEBUG_POWER(mvm, "debugfs: set keep_alive= %d sec\n", val); in iwl_dbgfs_update_pm()
84 IWL_WARN(mvm, in iwl_dbgfs_update_pm()
91 IWL_DEBUG_POWER(mvm, "skip_over_dtim %s\n", in iwl_dbgfs_update_pm()
96 IWL_DEBUG_POWER(mvm, "skip_dtim_periods=%d\n", val); in iwl_dbgfs_update_pm()
100 IWL_DEBUG_POWER(mvm, "rx_data_timeout=%d\n", val); in iwl_dbgfs_update_pm()
104 IWL_DEBUG_POWER(mvm, "tx_data_timeout=%d\n", val); in iwl_dbgfs_update_pm()
108 IWL_DEBUG_POWER(mvm, "lprx %s\n", val ? "enabled" : "disabled"); in iwl_dbgfs_update_pm()
112 IWL_DEBUG_POWER(mvm, "lprx_rssi_threshold=%d\n", val); in iwl_dbgfs_update_pm()
116 IWL_DEBUG_POWER(mvm, "snooze_enable=%d\n", val); in iwl_dbgfs_update_pm()
[all …]
Dsf.c155 static void iwl_mvm_fill_sf_command(struct iwl_mvm *mvm, in iwl_mvm_fill_sf_command() argument
196 if (sta || IWL_UCODE_API(mvm->fw->ucode_ver) < 13) { in iwl_mvm_fill_sf_command()
214 static int iwl_mvm_sf_config(struct iwl_mvm *mvm, u8 sta_id, in iwl_mvm_sf_config() argument
223 if (IWL_UCODE_API(mvm->fw->ucode_ver) < 13) in iwl_mvm_sf_config()
226 if (mvm->cfg->disable_dummy_notification) in iwl_mvm_sf_config()
233 if (new_state != SF_FULL_ON && mvm->sf_state == new_state) in iwl_mvm_sf_config()
238 if (IWL_UCODE_API(mvm->fw->ucode_ver) >= 13) in iwl_mvm_sf_config()
239 iwl_mvm_fill_sf_command(mvm, &sf_cmd, NULL); in iwl_mvm_sf_config()
243 IWL_ERR(mvm, in iwl_mvm_sf_config()
248 sta = rcu_dereference(mvm->fw_id_to_mac_id[sta_id]); in iwl_mvm_sf_config()
[all …]
Dbinding.c78 static int iwl_mvm_binding_cmd(struct iwl_mvm *mvm, u32 action, in iwl_mvm_binding_cmd() argument
101 ret = iwl_mvm_send_cmd_pdu_status(mvm, BINDING_CONTEXT_CMD, in iwl_mvm_binding_cmd()
104 IWL_ERR(mvm, "Failed to send binding (action:%d): %d\n", in iwl_mvm_binding_cmd()
110 IWL_ERR(mvm, "Binding command failed: %u\n", status); in iwl_mvm_binding_cmd()
137 static int iwl_mvm_binding_update(struct iwl_mvm *mvm, in iwl_mvm_binding_update() argument
149 lockdep_assert_held(&mvm->mutex); in iwl_mvm_binding_update()
151 ieee80211_iterate_active_interfaces_atomic(mvm->hw, in iwl_mvm_binding_update()
176 return iwl_mvm_binding_cmd(mvm, action, &data); in iwl_mvm_binding_update()
179 int iwl_mvm_binding_add_vif(struct iwl_mvm *mvm, struct ieee80211_vif *vif) in iwl_mvm_binding_add_vif() argument
190 if (iwl_mvm_sf_update(mvm, vif, false)) in iwl_mvm_binding_add_vif()
[all …]
Dquota.c138 static void iwl_mvm_adjust_quota_for_noa(struct iwl_mvm *mvm, in iwl_mvm_adjust_quota_for_noa() argument
145 if (!mvm->noa_duration || !mvm->noa_vif) in iwl_mvm_adjust_quota_for_noa()
148 mvmvif = iwl_mvm_vif_from_mac80211(mvm->noa_vif); in iwl_mvm_adjust_quota_for_noa()
153 beacon_int = mvm->noa_vif->bss_conf.beacon_int; in iwl_mvm_adjust_quota_for_noa()
163 quota *= (beacon_int - mvm->noa_duration); in iwl_mvm_adjust_quota_for_noa()
166 IWL_DEBUG_QUOTA(mvm, "quota: adjust for NoA from %d to %d\n", in iwl_mvm_adjust_quota_for_noa()
174 int iwl_mvm_update_quotas(struct iwl_mvm *mvm, in iwl_mvm_update_quotas() argument
185 struct iwl_time_quota_cmd *last = &mvm->last_quota_cmd; in iwl_mvm_update_quotas()
188 lockdep_assert_held(&mvm->mutex); in iwl_mvm_update_quotas()
191 if (test_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status)) in iwl_mvm_update_quotas()
[all …]
Dtime-event.h139 void iwl_mvm_protect_session(struct iwl_mvm *mvm,
154 void iwl_mvm_stop_session_protection(struct iwl_mvm *mvm,
160 int iwl_mvm_rx_time_event_notif(struct iwl_mvm *mvm,
181 int iwl_mvm_start_p2p_roc(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
192 void iwl_mvm_stop_roc(struct iwl_mvm *mvm);
204 void iwl_mvm_remove_time_event(struct iwl_mvm *mvm,
216 void iwl_mvm_te_clear_data(struct iwl_mvm *mvm,
231 int iwl_mvm_schedule_csa_period(struct iwl_mvm *mvm,
Doffloading.c86 int iwl_mvm_send_proto_offload(struct iwl_mvm *mvm, in iwl_mvm_send_proto_offload() argument
105 u32 capa_flags = mvm->fw->ucode_capa.flags; in iwl_mvm_send_proto_offload()
216 return iwl_mvm_send_cmd(mvm, &hcmd); in iwl_mvm_send_proto_offload()
Drs.h352 void iwl_mvm_rs_rate_init(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
356 void iwl_mvm_rs_tx_status(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
381 int iwl_mvm_tx_protection(struct iwl_mvm *mvm, struct iwl_mvm_sta *mvmsta,
/linux-4.1.27/drivers/net/wireless/iwlwifi/
DMakefile20 obj-$(CONFIG_IWLMVM) += mvm/