diff options
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/mvm/mvm.h')
| -rw-r--r-- | drivers/net/wireless/intel/iwlwifi/mvm/mvm.h | 33 | 
1 files changed, 11 insertions, 22 deletions
| diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h b/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h index bca6f6b536d9..8dc2a9850bc5 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h +++ b/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h @@ -8,7 +8,7 @@   * Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved.   * Copyright(c) 2013 - 2015 Intel Mobile Communications GmbH   * Copyright(c) 2016 - 2017 Intel Deutschland GmbH - * Copyright(c) 2018        Intel Corporation + * Copyright(c) 2018 - 2019 Intel Corporation   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of version 2 of the GNU General Public License as @@ -31,7 +31,7 @@   * Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved.   * Copyright(c) 2013 - 2015 Intel Mobile Communications GmbH   * Copyright(c) 2016 - 2017 Intel Deutschland GmbH - * Copyright(c) 2018        Intel Corporation + * Copyright(c) 2018 - 2019 Intel Corporation   * All rights reserved.   *   * Redistribution and use in source and binary forms, with or without @@ -490,6 +490,9 @@ struct iwl_mvm_vif {  	bool csa_countdown;  	bool csa_failed;  	u16 csa_target_freq; +	u16 csa_count; +	u16 csa_misbehave; +	struct delayed_work csa_work;  	/* Indicates that we are waiting for a beacon on a new channel */  	bool csa_bcn_pending; @@ -498,7 +501,6 @@ struct iwl_mvm_vif {  	netdev_features_t features;  	struct iwl_probe_resp_data __rcu *probe_resp_data; -	struct ieee80211_key_conf *ap_wep_key;  };  static inline struct iwl_mvm_vif * @@ -1200,7 +1202,6 @@ struct iwl_mvm {   * @IWL_MVM_STATUS_IN_HW_RESTART: HW restart is active   * @IWL_MVM_STATUS_IN_D0I3: NIC is in D0i3   * @IWL_MVM_STATUS_ROC_AUX_RUNNING: AUX remain-on-channel is running - * @IWL_MVM_STATUS_D3_RECONFIG: D3 reconfiguration is being done   * @IWL_MVM_STATUS_FIRMWARE_RUNNING: firmware is running   * @IWL_MVM_STATUS_NEED_FLUSH_P2P: need to flush P2P bcast STA   */ @@ -1212,7 +1213,6 @@ enum iwl_mvm_status {  	IWL_MVM_STATUS_IN_HW_RESTART,  	IWL_MVM_STATUS_IN_D0I3,  	IWL_MVM_STATUS_ROC_AUX_RUNNING, -	IWL_MVM_STATUS_D3_RECONFIG,  	IWL_MVM_STATUS_FIRMWARE_RUNNING,  	IWL_MVM_STATUS_NEED_FLUSH_P2P,  }; @@ -1538,6 +1538,7 @@ void iwl_mvm_dump_nic_error_log(struct iwl_mvm *mvm);  u8 first_antenna(u8 mask);  u8 iwl_mvm_next_antenna(struct iwl_mvm *mvm, u8 valid, u8 last_idx);  void iwl_mvm_get_sync_time(struct iwl_mvm *mvm, u32 *gp2, u64 *boottime); +u32 iwl_mvm_get_systime(struct iwl_mvm *mvm);  /* Tx / Host Commands */  int __must_check iwl_mvm_send_cmd(struct iwl_mvm *mvm, @@ -1650,8 +1651,8 @@ void iwl_mvm_rx_rx_mpdu(struct iwl_mvm *mvm, struct napi_struct *napi,  			struct iwl_rx_cmd_buffer *rxb);  void iwl_mvm_rx_mpdu_mq(struct iwl_mvm *mvm, struct napi_struct *napi,  			struct iwl_rx_cmd_buffer *rxb, int queue); -void iwl_mvm_rx_monitor_ndp(struct iwl_mvm *mvm, struct napi_struct *napi, -			    struct iwl_rx_cmd_buffer *rxb, int queue); +void iwl_mvm_rx_monitor_no_data(struct iwl_mvm *mvm, struct napi_struct *napi, +				struct iwl_rx_cmd_buffer *rxb, int queue);  void iwl_mvm_rx_frame_release(struct iwl_mvm *mvm, struct napi_struct *napi,  			      struct iwl_rx_cmd_buffer *rxb, int queue);  int iwl_mvm_notify_rx_queue(struct iwl_mvm *mvm, u32 rxq_mask, @@ -1785,14 +1786,13 @@ void iwl_mvm_rx_umac_scan_iter_complete_notif(struct iwl_mvm *mvm,  /* MVM debugfs */  #ifdef CONFIG_IWLWIFI_DEBUGFS -int iwl_mvm_dbgfs_register(struct iwl_mvm *mvm, struct dentry *dbgfs_dir); +void iwl_mvm_dbgfs_register(struct iwl_mvm *mvm, struct dentry *dbgfs_dir);  void iwl_mvm_vif_dbgfs_register(struct iwl_mvm *mvm, struct ieee80211_vif *vif);  void iwl_mvm_vif_dbgfs_clean(struct iwl_mvm *mvm, struct ieee80211_vif *vif);  #else -static inline int iwl_mvm_dbgfs_register(struct iwl_mvm *mvm, -					 struct dentry *dbgfs_dir) +static inline void iwl_mvm_dbgfs_register(struct iwl_mvm *mvm, +					  struct dentry *dbgfs_dir)  { -	return 0;  }  static inline void  iwl_mvm_vif_dbgfs_register(struct iwl_mvm *mvm, struct ieee80211_vif *vif) @@ -2024,17 +2024,6 @@ static inline u32 iwl_mvm_flushable_queues(struct iwl_mvm *mvm)  static inline void iwl_mvm_stop_device(struct iwl_mvm *mvm)  {  	lockdep_assert_held(&mvm->mutex); -	/* If IWL_MVM_STATUS_HW_RESTART_REQUESTED bit is set then we received -	 * an assert. Since we failed to bring the interface up, mac80211 -	 * will not attempt to reconfig the device, -	 * which handles the dump collection in assert flow, -	 * so trigger dump collection here. -	 */ -	if (test_and_clear_bit(IWL_MVM_STATUS_HW_RESTART_REQUESTED, -			       &mvm->status)) -		iwl_fw_dbg_collect_desc(&mvm->fwrt, &iwl_dump_desc_assert, -					false, 0); -  	iwl_fw_cancel_timestamp(&mvm->fwrt);  	clear_bit(IWL_MVM_STATUS_FIRMWARE_RUNNING, &mvm->status);  	iwl_fwrt_stop_device(&mvm->fwrt); |