/linux-4.4.14/drivers/net/wireless/iwlwifi/mvm/ |
D | fw.c | 90 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() 109 void iwl_free_fw_paging(struct iwl_mvm *mvm) in iwl_free_fw_paging() argument 113 if (!mvm->fw_paging_db[0].fw_paging_block) in iwl_free_fw_paging() 117 if (!mvm->fw_paging_db[i].fw_paging_block) { in iwl_free_fw_paging() 118 IWL_DEBUG_FW(mvm, in iwl_free_fw_paging() 125 __free_pages(mvm->fw_paging_db[i].fw_paging_block, in iwl_free_fw_paging() [all …]
|
D | mac80211.c | 212 void iwl_mvm_ref(struct iwl_mvm *mvm, enum iwl_mvm_ref_type ref_type) in iwl_mvm_ref() argument 214 if (!iwl_mvm_is_d0i3_supported(mvm)) in iwl_mvm_ref() 217 IWL_DEBUG_RPM(mvm, "Take mvm reference - type %d\n", ref_type); in iwl_mvm_ref() 218 spin_lock_bh(&mvm->refs_lock); in iwl_mvm_ref() 219 mvm->refs[ref_type]++; in iwl_mvm_ref() 220 spin_unlock_bh(&mvm->refs_lock); in iwl_mvm_ref() 221 iwl_trans_ref(mvm->trans); in iwl_mvm_ref() 224 void iwl_mvm_unref(struct iwl_mvm *mvm, enum iwl_mvm_ref_type ref_type) in iwl_mvm_unref() argument 226 if (!iwl_mvm_is_d0i3_supported(mvm)) in iwl_mvm_unref() 229 IWL_DEBUG_RPM(mvm, "Leave mvm reference - type %d\n", ref_type); in iwl_mvm_unref() [all …]
|
D | ops.c | 144 struct iwl_mvm *mvm = IWL_OP_MODE_GET_MVM(op_mode); in iwl_mvm_nic_config() local 147 u32 phy_config = iwl_mvm_get_phy_config(mvm); in iwl_mvm_nic_config() 157 reg_val |= CSR_HW_REV_STEP(mvm->trans->hw_rev) << in iwl_mvm_nic_config() 159 reg_val |= CSR_HW_REV_DASH(mvm->trans->hw_rev) << in iwl_mvm_nic_config() 177 if (mvm->trans->cfg->device_family != IWL_DEVICE_FAMILY_8000) in iwl_mvm_nic_config() 180 iwl_trans_set_bits_mask(mvm->trans, CSR_HW_IF_CONFIG_REG, in iwl_mvm_nic_config() 190 IWL_DEBUG_INFO(mvm, "Radio type=0x%x-0x%x-0x%x\n", radio_cfg_type, in iwl_mvm_nic_config() 198 if (!mvm->trans->cfg->apmg_not_supported) in iwl_mvm_nic_config() 199 iwl_set_bits_mask_prph(mvm->trans, APMG_PS_CTRL_REG, in iwl_mvm_nic_config() 207 void (*fn)(struct iwl_mvm *mvm, struct iwl_rx_cmd_buffer *rxb); [all …]
|
D | tt.c | 71 static void iwl_mvm_enter_ctkill(struct iwl_mvm *mvm) in iwl_mvm_enter_ctkill() argument 73 struct iwl_mvm_tt_mgmt *tt = &mvm->thermal_throttle; in iwl_mvm_enter_ctkill() 76 if (test_bit(IWL_MVM_STATUS_HW_CTKILL, &mvm->status)) in iwl_mvm_enter_ctkill() 79 IWL_ERR(mvm, "Enter CT Kill\n"); in iwl_mvm_enter_ctkill() 80 iwl_mvm_set_hw_ctkill_state(mvm, true); 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() 100 iwl_mvm_set_hw_ctkill_state(mvm, false); in iwl_mvm_exit_ctkill() [all …]
|
D | utils.c | 79 int iwl_mvm_send_cmd(struct iwl_mvm *mvm, struct iwl_host_cmd *cmd) in iwl_mvm_send_cmd() argument 84 if (WARN_ON(mvm->d3_test_active)) in iwl_mvm_send_cmd() 94 lockdep_assert_held(&mvm->mutex); in iwl_mvm_send_cmd() 96 ret = iwl_trans_send_cmd(mvm->trans, cmd); in iwl_mvm_send_cmd() 112 int iwl_mvm_send_cmd_pdu(struct iwl_mvm *mvm, u32 id, in iwl_mvm_send_cmd_pdu() argument 122 return iwl_mvm_send_cmd(mvm, &cmd); in iwl_mvm_send_cmd_pdu() 128 int iwl_mvm_send_cmd_status(struct iwl_mvm *mvm, struct iwl_host_cmd *cmd, in iwl_mvm_send_cmd_status() argument 135 lockdep_assert_held(&mvm->mutex); in iwl_mvm_send_cmd_status() 138 if (WARN_ON(mvm->d3_test_active)) in iwl_mvm_send_cmd_status() 152 ret = iwl_trans_send_cmd(mvm->trans, cmd); in iwl_mvm_send_cmd_status() [all …]
|
D | tof.c | 68 void iwl_mvm_tof_init(struct iwl_mvm *mvm) in iwl_mvm_tof_init() argument 70 struct iwl_mvm_tof_data *tof_data = &mvm->tof_data; in iwl_mvm_tof_init() 72 if (!fw_has_capa(&mvm->fw->ucode_capa, IWL_UCODE_TLV_CAPA_TOF_SUPPORT)) in iwl_mvm_tof_init() 95 mvm->tof_data.active_range_request = IWL_MVM_TOF_RANGE_REQ_MAX_ID; in iwl_mvm_tof_init() 98 void iwl_mvm_tof_clean(struct iwl_mvm *mvm) in iwl_mvm_tof_clean() argument 100 struct iwl_mvm_tof_data *tof_data = &mvm->tof_data; in iwl_mvm_tof_clean() 102 if (!fw_has_capa(&mvm->fw->ucode_capa, IWL_UCODE_TLV_CAPA_TOF_SUPPORT)) in iwl_mvm_tof_clean() 106 mvm->tof_data.active_range_request = IWL_MVM_TOF_RANGE_REQ_MAX_ID; in iwl_mvm_tof_clean() 119 int iwl_mvm_tof_config_cmd(struct iwl_mvm *mvm) in iwl_mvm_tof_config_cmd() argument 121 struct iwl_tof_config_cmd *cmd = &mvm->tof_data.tof_cfg; in iwl_mvm_tof_config_cmd() [all …]
|
D | time-event.c | 84 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, CMD_ASYNC); in iwl_mvm_roc_done_wk() 135 static void iwl_mvm_roc_finished(struct iwl_mvm *mvm) in iwl_mvm_roc_finished() argument [all …]
|
D | tdls.c | 73 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 …]
|
D | mvm.h | 364 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 …]
|
D | nvm.c | 95 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() 160 IWL_DEBUG_EEPROM(mvm->trans->dev, in iwl_nvm_read_chunk() 165 IWL_DEBUG_EEPROM(mvm->trans->dev, in iwl_nvm_read_chunk() 167 ret, mvm->cfg->name); in iwl_nvm_read_chunk() 174 IWL_ERR(mvm, "NVM ACCESS response with invalid offset %d\n", in iwl_nvm_read_chunk() 189 static int iwl_nvm_write_section(struct iwl_mvm *mvm, u16 section, in iwl_nvm_write_section() argument 202 ret = iwl_nvm_write_chunk(mvm, section, offset, in iwl_nvm_write_section() [all …]
|
D | scan.c | 146 static u8 iwl_mvm_scan_rx_ant(struct iwl_mvm *mvm) in iwl_mvm_scan_rx_ant() argument 148 if (mvm->scan_rx_ant != ANT_NONE) in iwl_mvm_scan_rx_ant() 149 return mvm->scan_rx_ant; in iwl_mvm_scan_rx_ant() 150 return iwl_mvm_get_valid_rx_ant(mvm); in iwl_mvm_scan_rx_ant() 153 static inline __le16 iwl_mvm_scan_rx_chain(struct iwl_mvm *mvm) in iwl_mvm_scan_rx_chain() argument 158 rx_ant = iwl_mvm_scan_rx_ant(mvm); in iwl_mvm_scan_rx_chain() 175 iwl_mvm_scan_rate_n_flags(struct iwl_mvm *mvm, enum ieee80211_band band, in iwl_mvm_scan_rate_n_flags() argument 180 mvm->scan_last_antenna_idx = in iwl_mvm_scan_rate_n_flags() 181 iwl_mvm_next_antenna(mvm, iwl_mvm_get_valid_tx_ant(mvm), in iwl_mvm_scan_rate_n_flags() 182 mvm->scan_last_antenna_idx); in iwl_mvm_scan_rate_n_flags() [all …]
|
D | sta.c | 71 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 …]
|
D | coex.c | 361 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 414 if (!fw_has_api(&mvm->fw->ucode_capa, IWL_UCODE_TLV_API_BT_COEX_SPLIT)) in iwl_send_bt_init_conf() 415 return iwl_send_bt_init_conf_old(mvm); in iwl_send_bt_init_conf() 417 lockdep_assert_held(&mvm->mutex); in iwl_send_bt_init_conf() [all …]
|
D | debugfs.c | 73 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, 0) ? : 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 …]
|
D | led.c | 70 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 …]
|
D | d3.c | 81 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 …]
|
D | coex_legacy.c | 105 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 …]
|
D | power.c | 83 int iwl_mvm_beacon_filter_send_cmd(struct iwl_mvm *mvm, in iwl_mvm_beacon_filter_send_cmd() argument 87 IWL_DEBUG_POWER(mvm, "ba_enable_beacon_abort is: %d\n", in iwl_mvm_beacon_filter_send_cmd() 89 IWL_DEBUG_POWER(mvm, "ba_escape_timer is: %d\n", in iwl_mvm_beacon_filter_send_cmd() 91 IWL_DEBUG_POWER(mvm, "bf_debug_flag is: %d\n", in iwl_mvm_beacon_filter_send_cmd() 93 IWL_DEBUG_POWER(mvm, "bf_enable_beacon_filter is: %d\n", in iwl_mvm_beacon_filter_send_cmd() 95 IWL_DEBUG_POWER(mvm, "bf_energy_delta is: %d\n", in iwl_mvm_beacon_filter_send_cmd() 97 IWL_DEBUG_POWER(mvm, "bf_escape_timer is: %d\n", in iwl_mvm_beacon_filter_send_cmd() 99 IWL_DEBUG_POWER(mvm, "bf_roaming_energy_delta is: %d\n", in iwl_mvm_beacon_filter_send_cmd() 101 IWL_DEBUG_POWER(mvm, "bf_roaming_state is: %d\n", in iwl_mvm_beacon_filter_send_cmd() 103 IWL_DEBUG_POWER(mvm, "bf_temp_threshold is: %d\n", in iwl_mvm_beacon_filter_send_cmd() [all …]
|
D | mac-ctxt.c | 84 struct iwl_mvm *mvm; member 246 unsigned long iwl_mvm_get_used_hw_queues(struct iwl_mvm *mvm, in iwl_mvm_get_used_hw_queues() argument 254 BIT(mvm->aux_queue) | in iwl_mvm_get_used_hw_queues() 258 lockdep_assert_held(&mvm->mutex); in iwl_mvm_get_used_hw_queues() 262 mvm->hw, IEEE80211_IFACE_ITER_RESUME_ALL, in iwl_mvm_get_used_hw_queues() 266 ieee80211_iterate_stations_atomic(mvm->hw, in iwl_mvm_get_used_hw_queues() 274 for_each_set_bit(sta_id, mvm->sta_drained, IWL_MVM_STATION_COUNT) in iwl_mvm_get_used_hw_queues() 275 data.used_hw_queues |= mvm->tfd_drained[sta_id]; in iwl_mvm_get_used_hw_queues() 304 void iwl_mvm_mac_ctxt_recalc_tsf_id(struct iwl_mvm *mvm, in iwl_mvm_mac_ctxt_recalc_tsf_id() argument 309 .mvm = mvm, in iwl_mvm_mac_ctxt_recalc_tsf_id() [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 131 ieee80211_rx_napi(mvm->hw, skb, napi); in iwl_mvm_pass_packet_to_mac80211() 140 static void iwl_mvm_get_signal_strength(struct iwl_mvm *mvm, in iwl_mvm_get_signal_strength() argument [all …]
|
D | sta.h | 351 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 void iwl_mvm_rx_eosp_notif(struct iwl_mvm *mvm, 385 int iwl_mvm_sta_rx_agg(struct iwl_mvm *mvm, struct ieee80211_sta *sta, [all …]
|
D | debugfs-vif.c | 69 static void iwl_dbgfs_update_pm(struct iwl_mvm *mvm, in iwl_dbgfs_update_pm() argument 83 IWL_DEBUG_POWER(mvm, "debugfs: set keep_alive= %d sec\n", val); in iwl_dbgfs_update_pm() 85 IWL_WARN(mvm, in iwl_dbgfs_update_pm() 92 IWL_DEBUG_POWER(mvm, "skip_over_dtim %s\n", in iwl_dbgfs_update_pm() 97 IWL_DEBUG_POWER(mvm, "skip_dtim_periods=%d\n", val); in iwl_dbgfs_update_pm() 101 IWL_DEBUG_POWER(mvm, "rx_data_timeout=%d\n", val); in iwl_dbgfs_update_pm() 105 IWL_DEBUG_POWER(mvm, "tx_data_timeout=%d\n", val); in iwl_dbgfs_update_pm() 109 IWL_DEBUG_POWER(mvm, "lprx %s\n", val ? "enabled" : "disabled"); in iwl_dbgfs_update_pm() 113 IWL_DEBUG_POWER(mvm, "lprx_rssi_threshold=%d\n", val); in iwl_dbgfs_update_pm() 117 IWL_DEBUG_POWER(mvm, "snooze_enable=%d\n", val); in iwl_dbgfs_update_pm() [all …]
|
D | phy-ctxt.c | 142 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 …]
|
D | rs.c | 139 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() 181 if (mvm->nvm_data->sku_cap_mimo_disabled) in rs_mimo_allow() 187 static bool rs_siso_allow(struct iwl_mvm *mvm, struct ieee80211_sta *sta, in rs_siso_allow() argument 197 static bool rs_sgi_allow(struct iwl_mvm *mvm, struct ieee80211_sta *sta, in rs_sgi_allow() argument 398 static void rs_rate_scale_perform(struct iwl_mvm *mvm, [all …]
|
D | tx.c | 74 iwl_mvm_bar_check_trigger(struct iwl_mvm *mvm, const u8 *addr, in iwl_mvm_bar_check_trigger() argument 80 if (!iwl_fw_dbg_trigger_enabled(mvm->fw, FW_DBG_TRIGGER_BA)) in iwl_mvm_bar_check_trigger() 83 trig = iwl_fw_dbg_get_trigger(mvm->fw, FW_DBG_TRIGGER_BA); in iwl_mvm_bar_check_trigger() 86 if (!iwl_fw_dbg_trigger_check_stop(mvm, NULL, trig)) in iwl_mvm_bar_check_trigger() 92 iwl_mvm_fw_dbg_collect_trig(mvm, trig, in iwl_mvm_bar_check_trigger() 100 void iwl_mvm_set_tx_cmd(struct iwl_mvm *mvm, struct sk_buff *skb, in iwl_mvm_set_tx_cmd() argument 135 iwl_mvm_bar_check_trigger(mvm, bar->ra, tx_cmd->tid_tspec, in iwl_mvm_set_tx_cmd() 151 tx_flags |= iwl_mvm_bt_coex_tx_prio(mvm, hdr, info, ac) << in iwl_mvm_set_tx_cmd() 172 if (ieee80211_is_data(fc) && len > mvm->rts_threshold && in iwl_mvm_set_tx_cmd() 176 if (fw_has_capa(&mvm->fw->ucode_capa, in iwl_mvm_set_tx_cmd() [all …]
|
D | sf.c | 155 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 …]
|
D | binding.c | 78 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 …]
|
D | tof.h | 80 void iwl_mvm_tof_init(struct iwl_mvm *mvm); 81 void iwl_mvm_tof_clean(struct iwl_mvm *mvm); 82 int iwl_mvm_tof_config_cmd(struct iwl_mvm *mvm); 83 int iwl_mvm_tof_range_abort_cmd(struct iwl_mvm *mvm, u8 id); 84 int iwl_mvm_tof_range_request_cmd(struct iwl_mvm *mvm, 86 void iwl_mvm_tof_resp_handler(struct iwl_mvm *mvm, 88 int iwl_mvm_tof_range_request_ext_cmd(struct iwl_mvm *mvm, 91 int iwl_mvm_tof_responder_cmd(struct iwl_mvm *mvm,
|
D | quota.c | 138 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 …]
|
D | time-event.h | 139 void iwl_mvm_protect_session(struct iwl_mvm *mvm, 154 void iwl_mvm_stop_session_protection(struct iwl_mvm *mvm, 160 void iwl_mvm_rx_time_event_notif(struct iwl_mvm *mvm, 180 int iwl_mvm_start_p2p_roc(struct iwl_mvm *mvm, struct ieee80211_vif *vif, 191 void iwl_mvm_stop_roc(struct iwl_mvm *mvm); 203 void iwl_mvm_remove_time_event(struct iwl_mvm *mvm, 215 void iwl_mvm_te_clear_data(struct iwl_mvm *mvm, 230 int iwl_mvm_schedule_csa_period(struct iwl_mvm *mvm,
|
D | offloading.c | 86 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()
|
D | rs.h | 360 void iwl_mvm_rs_rate_init(struct iwl_mvm *mvm, struct ieee80211_sta *sta, 364 void iwl_mvm_rs_tx_status(struct iwl_mvm *mvm, struct ieee80211_sta *sta, 389 int iwl_mvm_tx_protection(struct iwl_mvm *mvm, struct iwl_mvm_sta *mvmsta,
|
/linux-4.4.14/drivers/net/wireless/iwlwifi/ |
D | Makefile | 21 obj-$(CONFIG_IWLMVM) += mvm/
|