aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/ieee80211_i.h
diff options
context:
space:
mode:
authorSimon Wunderlich <simon.wunderlich@s2003.tu-chemnitz.de>2013-02-08 12:16:20 -0500
committerJohannes Berg <johannes.berg@intel.com>2013-02-15 03:41:04 -0500
commit164eb02d070af987890e1db1c12b8ae0394b19f7 (patch)
treec7c1f7a8d051f095cbf02a580ad70d7b4537b714 /net/mac80211/ieee80211_i.h
parent04f39047af2a6df64b763ea5a271db24879d0391 (diff)
mac80211: add radar detection command/event
Add command to trigger radar detection in the driver/FW. Once radar detection is started it should continuously monitor for radars as long as the channel active. If radar is detected usermode notified with 'radar detected' event. Scanning and remain on channel functionality must be disabled while doing radar detection/scanning, and vice versa. Based on original patch by Victor Goldenshtein <victorg@ti.com> Signed-off-by: Simon Wunderlich <siwu@hrz.tu-chemnitz.de> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/ieee80211_i.h')
-rw-r--r--net/mac80211/ieee80211_i.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
index 76cdcfcd614c..0e0a9776be39 100644
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
@@ -722,6 +722,9 @@ struct ieee80211_sub_if_data {
722 int user_power_level; /* in dBm */ 722 int user_power_level; /* in dBm */
723 int ap_power_level; /* in dBm */ 723 int ap_power_level; /* in dBm */
724 724
725 bool radar_required;
726 struct delayed_work dfs_cac_timer_work;
727
725 /* 728 /*
726 * AP this belongs to: self in AP mode and 729 * AP this belongs to: self in AP mode and
727 * corresponding AP in VLAN mode, NULL for 730 * corresponding AP in VLAN mode, NULL for
@@ -942,6 +945,10 @@ struct ieee80211_local {
942 /* wowlan is enabled -- don't reconfig on resume */ 945 /* wowlan is enabled -- don't reconfig on resume */
943 bool wowlan; 946 bool wowlan;
944 947
948 /* DFS/radar detection is enabled */
949 bool radar_detect_enabled;
950 struct work_struct radar_detected_work;
951
945 /* number of RX chains the hardware has */ 952 /* number of RX chains the hardware has */
946 u8 rx_chains; 953 u8 rx_chains;
947 954
@@ -1606,6 +1613,13 @@ void ieee80211_vif_copy_chanctx_to_vlans(struct ieee80211_sub_if_data *sdata,
1606 1613
1607void ieee80211_recalc_smps_chanctx(struct ieee80211_local *local, 1614void ieee80211_recalc_smps_chanctx(struct ieee80211_local *local,
1608 struct ieee80211_chanctx *chanctx); 1615 struct ieee80211_chanctx *chanctx);
1616void ieee80211_recalc_radar_chanctx(struct ieee80211_local *local,
1617 struct ieee80211_chanctx *chanctx);
1618
1619void ieee80211_dfs_cac_timer(unsigned long data);
1620void ieee80211_dfs_cac_timer_work(struct work_struct *work);
1621void ieee80211_dfs_cac_cancel(struct ieee80211_local *local);
1622void ieee80211_dfs_radar_detected_work(struct work_struct *work);
1609 1623
1610#ifdef CONFIG_MAC80211_NOINLINE 1624#ifdef CONFIG_MAC80211_NOINLINE
1611#define debug_noinline noinline 1625#define debug_noinline noinline