|
@@ -117,4 +117,80 @@ struct iwl_powertable_cmd {
|
|
|
__le32 lprx_rssi_threshold;
|
|
|
} __packed;
|
|
|
|
|
|
+/**
|
|
|
+ * struct iwl_beacon_filter_cmd
|
|
|
+ * REPLY_BEACON_FILTERING_CMD = 0xd2 (command)
|
|
|
+ * @id_and_color: MAC contex identifier
|
|
|
+ * @bf_energy_delta: Used for RSSI filtering, if in 'normal' state. Send beacon
|
|
|
+ * to driver if delta in Energy values calculated for this and last
|
|
|
+ * passed beacon is greater than this threshold. Zero value means that
|
|
|
+ * the Energy change is ignored for beacon filtering, and beacon will
|
|
|
+ * not be forced to be sent to driver regardless of this delta. Typical
|
|
|
+ * energy delta 5dB.
|
|
|
+ * @bf_roaming_energy_delta: Used for RSSI filtering, if in 'roaming' state.
|
|
|
+ * Send beacon to driver if delta in Energy values calculated for this
|
|
|
+ * and last passed beacon is greater than this threshold. Zero value
|
|
|
+ * means that the Energy change is ignored for beacon filtering while in
|
|
|
+ * Roaming state, typical energy delta 1dB.
|
|
|
+ * @bf_roaming_state: Used for RSSI filtering. If absolute Energy values
|
|
|
+ * calculated for current beacon is less than the threshold, use
|
|
|
+ * Roaming Energy Delta Threshold, otherwise use normal Energy Delta
|
|
|
+ * Threshold. Typical energy threshold is -72dBm.
|
|
|
+ * @bf_temperature_delta: Send Beacon to driver if delta in temperature values
|
|
|
+ * calculated for this and the last passed beacon is greater than this
|
|
|
+ * threshold. Zero value means that the temperature changeis ignored for
|
|
|
+ * beacon filtering; beacons will not be forced to be sent to driver
|
|
|
+ * regardless of whether its temerature has been changed.
|
|
|
+ * @bf_enable_beacon_filter: 1, beacon filtering is enabled; 0, disabled.
|
|
|
+ * @bf_filter_escape_timer: Send beacons to to driver if no beacons were passed
|
|
|
+ * for a specific period of time. Units: Beacons.
|
|
|
+ * @ba_escape_timer: Fully receive and parse beacon if no beacons were passed
|
|
|
+ * for a longer period of time then this escape-timeout. Units: Beacons.
|
|
|
+ * @ba_enable_beacon_abort: 1, beacon abort is enabled; 0, disabled.
|
|
|
+ */
|
|
|
+struct iwl_beacon_filter_cmd {
|
|
|
+ u8 bf_energy_delta;
|
|
|
+ u8 bf_roaming_energy_delta;
|
|
|
+ u8 bf_roaming_state;
|
|
|
+ u8 bf_temperature_delta;
|
|
|
+ u8 bf_enable_beacon_filter;
|
|
|
+ u8 bf_debug_flag;
|
|
|
+ __le16 reserved1;
|
|
|
+ __le32 bf_escape_timer;
|
|
|
+ __le32 ba_escape_timer;
|
|
|
+ u8 ba_enable_beacon_abort;
|
|
|
+ u8 reserved2[3];
|
|
|
+} __packed;
|
|
|
+
|
|
|
+/* Beacon filtering and beacon abort */
|
|
|
+#define IWL_BF_ENERGY_DELTA_DEFAULT 5
|
|
|
+#define IWL_BF_ENERGY_DELTA_MAX 255
|
|
|
+#define IWL_BF_ENERGY_DELTA_MIN 0
|
|
|
+
|
|
|
+#define IWL_BF_ROAMING_ENERGY_DELTA_DEFAULT 1
|
|
|
+#define IWL_BF_ROAMING_ENERGY_DELTA_MAX 255
|
|
|
+#define IWL_BF_ROAMING_ENERGY_DELTA_MIN 0
|
|
|
+
|
|
|
+#define IWL_BF_ROAMING_STATE_DEFAULT 72
|
|
|
+#define IWL_BF_ROAMING_STATE_MAX 255
|
|
|
+#define IWL_BF_ROAMING_STATE_MIN 0
|
|
|
+
|
|
|
+#define IWL_BF_TEMPERATURE_DELTA_DEFAULT 5
|
|
|
+#define IWL_BF_TEMPERATURE_DELTA_MAX 255
|
|
|
+#define IWL_BF_TEMPERATURE_DELTA_MIN 0
|
|
|
+
|
|
|
+#define IWL_BF_ENABLE_BEACON_FILTER_DEFAULT 1
|
|
|
+
|
|
|
+#define IWL_BF_DEBUG_FLAG_DEFAULT 0
|
|
|
+
|
|
|
+#define IWL_BF_ESCAPE_TIMER_DEFAULT 50
|
|
|
+#define IWL_BF_ESCAPE_TIMER_MAX 1024
|
|
|
+#define IWL_BF_ESCAPE_TIMER_MIN 0
|
|
|
+
|
|
|
+#define IWL_BA_ESCAPE_TIMER_DEFAULT 3
|
|
|
+#define IWL_BA_ESCAPE_TIMER_MAX 1024
|
|
|
+#define IWL_BA_ESCAPE_TIMER_MIN 0
|
|
|
+
|
|
|
+#define IWL_BA_ENABLE_BEACON_ABORT_DEFAULT 1
|
|
|
+
|
|
|
#endif
|