diff options
author | Hila Gonen <hila.gonen@intel.com> | 2012-12-12 04:16:19 -0500 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-05-13 12:11:22 -0400 |
commit | 7df15b1e6f5994115bee369a527b50ec3521a39b (patch) | |
tree | 0769e2a6d7fecc0e9db7f7c54e11f4a7c8206bd8 /drivers/net/wireless/iwlwifi/mvm/fw-api-power.h | |
parent | bd5f6a344daff10b58dfefad628e4b203edeb831 (diff) |
iwlwifi: mvm: Add beacon filtering support
Add iwl_beacon_filter_cmd struct, disable and enable beacon
filtering as needed.
Signed-off-by: Hila Gonen <hila.gonen@intel.com>
Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/mvm/fw-api-power.h')
-rw-r--r-- | drivers/net/wireless/iwlwifi/mvm/fw-api-power.h | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/fw-api-power.h b/drivers/net/wireless/iwlwifi/mvm/fw-api-power.h index 81fe45f46be7..90fdfcda15b6 100644 --- a/drivers/net/wireless/iwlwifi/mvm/fw-api-power.h +++ b/drivers/net/wireless/iwlwifi/mvm/fw-api-power.h | |||
@@ -117,4 +117,80 @@ struct iwl_powertable_cmd { | |||
117 | __le32 lprx_rssi_threshold; | 117 | __le32 lprx_rssi_threshold; |
118 | } __packed; | 118 | } __packed; |
119 | 119 | ||
120 | /** | ||
121 | * struct iwl_beacon_filter_cmd | ||
122 | * REPLY_BEACON_FILTERING_CMD = 0xd2 (command) | ||
123 | * @id_and_color: MAC contex identifier | ||
124 | * @bf_energy_delta: Used for RSSI filtering, if in 'normal' state. Send beacon | ||
125 | * to driver if delta in Energy values calculated for this and last | ||
126 | * passed beacon is greater than this threshold. Zero value means that | ||
127 | * the Energy change is ignored for beacon filtering, and beacon will | ||
128 | * not be forced to be sent to driver regardless of this delta. Typical | ||
129 | * energy delta 5dB. | ||
130 | * @bf_roaming_energy_delta: Used for RSSI filtering, if in 'roaming' state. | ||
131 | * Send beacon to driver if delta in Energy values calculated for this | ||
132 | * and last passed beacon is greater than this threshold. Zero value | ||
133 | * means that the Energy change is ignored for beacon filtering while in | ||
134 | * Roaming state, typical energy delta 1dB. | ||
135 | * @bf_roaming_state: Used for RSSI filtering. If absolute Energy values | ||
136 | * calculated for current beacon is less than the threshold, use | ||
137 | * Roaming Energy Delta Threshold, otherwise use normal Energy Delta | ||
138 | * Threshold. Typical energy threshold is -72dBm. | ||
139 | * @bf_temperature_delta: Send Beacon to driver if delta in temperature values | ||
140 | * calculated for this and the last passed beacon is greater than this | ||
141 | * threshold. Zero value means that the temperature changeis ignored for | ||
142 | * beacon filtering; beacons will not be forced to be sent to driver | ||
143 | * regardless of whether its temerature has been changed. | ||
144 | * @bf_enable_beacon_filter: 1, beacon filtering is enabled; 0, disabled. | ||
145 | * @bf_filter_escape_timer: Send beacons to to driver if no beacons were passed | ||
146 | * for a specific period of time. Units: Beacons. | ||
147 | * @ba_escape_timer: Fully receive and parse beacon if no beacons were passed | ||
148 | * for a longer period of time then this escape-timeout. Units: Beacons. | ||
149 | * @ba_enable_beacon_abort: 1, beacon abort is enabled; 0, disabled. | ||
150 | */ | ||
151 | struct iwl_beacon_filter_cmd { | ||
152 | u8 bf_energy_delta; | ||
153 | u8 bf_roaming_energy_delta; | ||
154 | u8 bf_roaming_state; | ||
155 | u8 bf_temperature_delta; | ||
156 | u8 bf_enable_beacon_filter; | ||
157 | u8 bf_debug_flag; | ||
158 | __le16 reserved1; | ||
159 | __le32 bf_escape_timer; | ||
160 | __le32 ba_escape_timer; | ||
161 | u8 ba_enable_beacon_abort; | ||
162 | u8 reserved2[3]; | ||
163 | } __packed; | ||
164 | |||
165 | /* Beacon filtering and beacon abort */ | ||
166 | #define IWL_BF_ENERGY_DELTA_DEFAULT 5 | ||
167 | #define IWL_BF_ENERGY_DELTA_MAX 255 | ||
168 | #define IWL_BF_ENERGY_DELTA_MIN 0 | ||
169 | |||
170 | #define IWL_BF_ROAMING_ENERGY_DELTA_DEFAULT 1 | ||
171 | #define IWL_BF_ROAMING_ENERGY_DELTA_MAX 255 | ||
172 | #define IWL_BF_ROAMING_ENERGY_DELTA_MIN 0 | ||
173 | |||
174 | #define IWL_BF_ROAMING_STATE_DEFAULT 72 | ||
175 | #define IWL_BF_ROAMING_STATE_MAX 255 | ||
176 | #define IWL_BF_ROAMING_STATE_MIN 0 | ||
177 | |||
178 | #define IWL_BF_TEMPERATURE_DELTA_DEFAULT 5 | ||
179 | #define IWL_BF_TEMPERATURE_DELTA_MAX 255 | ||
180 | #define IWL_BF_TEMPERATURE_DELTA_MIN 0 | ||
181 | |||
182 | #define IWL_BF_ENABLE_BEACON_FILTER_DEFAULT 1 | ||
183 | |||
184 | #define IWL_BF_DEBUG_FLAG_DEFAULT 0 | ||
185 | |||
186 | #define IWL_BF_ESCAPE_TIMER_DEFAULT 50 | ||
187 | #define IWL_BF_ESCAPE_TIMER_MAX 1024 | ||
188 | #define IWL_BF_ESCAPE_TIMER_MIN 0 | ||
189 | |||
190 | #define IWL_BA_ESCAPE_TIMER_DEFAULT 3 | ||
191 | #define IWL_BA_ESCAPE_TIMER_MAX 1024 | ||
192 | #define IWL_BA_ESCAPE_TIMER_MIN 0 | ||
193 | |||
194 | #define IWL_BA_ENABLE_BEACON_ABORT_DEFAULT 1 | ||
195 | |||
120 | #endif | 196 | #endif |