aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-dev.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-dev.h')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-dev.h26
1 files changed, 25 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-dev.h b/drivers/net/wireless/iwlwifi/iwl-dev.h
index 55dc5a866542..7914d65a5a55 100644
--- a/drivers/net/wireless/iwlwifi/iwl-dev.h
+++ b/drivers/net/wireless/iwlwifi/iwl-dev.h
@@ -1033,8 +1033,26 @@ struct iwl_event_log {
1033#define IWL_MAX_PLCP_ERR_THRESHOLD_MIN (0) 1033#define IWL_MAX_PLCP_ERR_THRESHOLD_MIN (0)
1034#define IWL_MAX_PLCP_ERR_THRESHOLD_DEF (50) 1034#define IWL_MAX_PLCP_ERR_THRESHOLD_DEF (50)
1035#define IWL_MAX_PLCP_ERR_LONG_THRESHOLD_DEF (100) 1035#define IWL_MAX_PLCP_ERR_LONG_THRESHOLD_DEF (100)
1036#define IWL_MAX_PLCP_ERR_EXT_LONG_THRESHOLD_DEF (200)
1036#define IWL_MAX_PLCP_ERR_THRESHOLD_MAX (255) 1037#define IWL_MAX_PLCP_ERR_THRESHOLD_MAX (255)
1037 1038
1039#define IWL_DELAY_NEXT_FORCE_RF_RESET (HZ*3)
1040#define IWL_DELAY_NEXT_FORCE_FW_RELOAD (HZ*5)
1041
1042enum iwl_reset {
1043 IWL_RF_RESET = 0,
1044 IWL_FW_RESET,
1045 IWL_MAX_FORCE_RESET,
1046};
1047
1048struct iwl_force_reset {
1049 int reset_request_count;
1050 int reset_success_count;
1051 int reset_reject_count;
1052 unsigned long reset_duration;
1053 unsigned long last_force_reset_jiffies;
1054};
1055
1038struct iwl_priv { 1056struct iwl_priv {
1039 1057
1040 /* ieee device used by generic ieee processing code */ 1058 /* ieee device used by generic ieee processing code */
@@ -1066,6 +1084,12 @@ struct iwl_priv {
1066 /* storing the jiffies when the plcp error rate is received */ 1084 /* storing the jiffies when the plcp error rate is received */
1067 unsigned long plcp_jiffies; 1085 unsigned long plcp_jiffies;
1068 1086
1087 /* reporting the number of tids has AGG on. 0 means no AGGREGATION */
1088 u8 agg_tids_count;
1089
1090 /* force reset */
1091 struct iwl_force_reset force_reset[IWL_MAX_FORCE_RESET];
1092
1069 /* we allocate array of iwl4965_channel_info for NIC's valid channels. 1093 /* we allocate array of iwl4965_channel_info for NIC's valid channels.
1070 * Access via channel # using indirect index array */ 1094 * Access via channel # using indirect index array */
1071 struct iwl_channel_info *channel_info; /* channel info array */ 1095 struct iwl_channel_info *channel_info; /* channel info array */
@@ -1087,7 +1111,6 @@ struct iwl_priv {
1087 unsigned long scan_start; 1111 unsigned long scan_start;
1088 unsigned long scan_pass_start; 1112 unsigned long scan_pass_start;
1089 unsigned long scan_start_tsf; 1113 unsigned long scan_start_tsf;
1090 unsigned long last_internal_scan_jiffies;
1091 void *scan; 1114 void *scan;
1092 int scan_bands; 1115 int scan_bands;
1093 struct cfg80211_scan_request *scan_request; 1116 struct cfg80211_scan_request *scan_request;
@@ -1100,6 +1123,7 @@ struct iwl_priv {
1100 spinlock_t hcmd_lock; /* protect hcmd */ 1123 spinlock_t hcmd_lock; /* protect hcmd */
1101 spinlock_t reg_lock; /* protect hw register access */ 1124 spinlock_t reg_lock; /* protect hw register access */
1102 struct mutex mutex; 1125 struct mutex mutex;
1126 struct mutex sync_cmd_mutex; /* enable serialization of sync commands */
1103 1127
1104 /* basic pci-network driver stuff */ 1128 /* basic pci-network driver stuff */
1105 struct pci_dev *pci_dev; 1129 struct pci_dev *pci_dev;