aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/mac80211.h
diff options
context:
space:
mode:
authorDavid Spinadel <david.spinadel@intel.com>2014-02-06 09:15:23 -0500
committerJohannes Berg <johannes.berg@intel.com>2014-06-25 03:10:43 -0400
commit633e27132625a0692440c4db58b901fb3cb67c55 (patch)
tree6500b45b80c944e2addfda3f9c4515a2112056c9 /include/net/mac80211.h
parentc56ef6725068c0ce499e517409c0da226ef51b08 (diff)
mac80211: split sched scan IEs
Split sched scan IEs to band specific and not band specific blocks. Common IEs blocks may be sent to the FW once per command, instead of per band. This allows optimization of size of the command, which may be required by some drivers (eg. iwlmvm with newer firmware version). As this changes the mac80211 API, update all drivers to use the new version correctly, even if they don't (yet) make use of the split data. Signed-off-by: David Spinadel <david.spinadel@intel.com> Reviewed-by: Alexander Bondar <alexander.bondar@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include/net/mac80211.h')
-rw-r--r--include/net/mac80211.h23
1 files changed, 4 insertions, 19 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index 9536ee3e22a9..545d2fa179c4 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -754,26 +754,11 @@ struct ieee80211_tx_info {
754}; 754};
755 755
756/** 756/**
757 * struct ieee80211_sched_scan_ies - scheduled scan IEs
758 *
759 * This structure is used to pass the appropriate IEs to be used in scheduled
760 * scans for all bands. It contains both the IEs passed from the userspace
761 * and the ones generated by mac80211.
762 *
763 * @ie: array with the IEs for each supported band
764 * @len: array with the total length of the IEs for each band
765 */
766struct ieee80211_sched_scan_ies {
767 u8 *ie[IEEE80211_NUM_BANDS];
768 size_t len[IEEE80211_NUM_BANDS];
769};
770
771/**
772 * struct ieee80211_scan_ies - descriptors for different blocks of IEs 757 * struct ieee80211_scan_ies - descriptors for different blocks of IEs
773 * 758 *
774 * This structure is used to point to different blocks of IEs in HW scan. 759 * This structure is used to point to different blocks of IEs in HW scan
775 * These blocks contain the IEs passed by userspace and the ones generated 760 * and scheduled scan. These blocks contain the IEs passed by userspace
776 * by mac80211. 761 * and the ones generated by mac80211.
777 * 762 *
778 * @ies: pointers to band specific IEs. 763 * @ies: pointers to band specific IEs.
779 * @len: lengths of band_specific IEs. 764 * @len: lengths of band_specific IEs.
@@ -2917,7 +2902,7 @@ struct ieee80211_ops {
2917 int (*sched_scan_start)(struct ieee80211_hw *hw, 2902 int (*sched_scan_start)(struct ieee80211_hw *hw,
2918 struct ieee80211_vif *vif, 2903 struct ieee80211_vif *vif,
2919 struct cfg80211_sched_scan_request *req, 2904 struct cfg80211_sched_scan_request *req,
2920 struct ieee80211_sched_scan_ies *ies); 2905 struct ieee80211_scan_ies *ies);
2921 int (*sched_scan_stop)(struct ieee80211_hw *hw, 2906 int (*sched_scan_stop)(struct ieee80211_hw *hw,
2922 struct ieee80211_vif *vif); 2907 struct ieee80211_vif *vif);
2923 void (*sw_scan_start)(struct ieee80211_hw *hw); 2908 void (*sw_scan_start)(struct ieee80211_hw *hw);