aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/mvm/fw-api-power.h
diff options
context:
space:
mode:
authorHila Gonen <hila.gonen@intel.com>2012-12-12 04:16:19 -0500
committerJohannes Berg <johannes.berg@intel.com>2013-05-13 12:11:22 -0400
commit7df15b1e6f5994115bee369a527b50ec3521a39b (patch)
tree0769e2a6d7fecc0e9db7f7c54e11f4a7c8206bd8 /drivers/net/wireless/iwlwifi/mvm/fw-api-power.h
parentbd5f6a344daff10b58dfefad628e4b203edeb831 (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.h76
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 */
151struct 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