aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/mvm/mvm.h
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2013-11-12 11:30:52 -0500
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>2014-02-03 15:23:34 -0500
commita21d7bcbf4c65bb7f79e16287d41040e4c7f5596 (patch)
treeac16a9b2af653bb739afe4cfb2388ea7a266fee1 /drivers/net/wireless/iwlwifi/mvm/mvm.h
parent992f81fcd97e87e7ebbb26e544430adf483203f0 (diff)
iwlwifi: mvm: add low-latency framework
For various traffic use cases, we want to be able to treat multi- channel scenarios differently. Introduce a low-latency framework that currently only has a debugfs file to enable low-latency mode, but can later be extended. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/mvm/mvm.h')
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/mvm.h25
1 files changed, 24 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/mvm.h b/drivers/net/wireless/iwlwifi/mvm/mvm.h
index 02e4bdc80de2..00bc4ce06cca 100644
--- a/drivers/net/wireless/iwlwifi/mvm/mvm.h
+++ b/drivers/net/wireless/iwlwifi/mvm/mvm.h
@@ -269,7 +269,9 @@ struct iwl_mvm_vif_bf_data {
269 * @ap_ibss_active: indicates that AP/IBSS is configured and that the interface 269 * @ap_ibss_active: indicates that AP/IBSS is configured and that the interface
270 * should get quota etc. 270 * should get quota etc.
271 * @monitor_active: indicates that monitor context is configured, and that the 271 * @monitor_active: indicates that monitor context is configured, and that the
272 * interface should get quota etc. 272 * interface should get quota etc.
273 * @low_latency: indicates that this interface is in low-latency mode
274 * (VMACLowLatencyMode)
273 * @queue_params: QoS params for this MAC 275 * @queue_params: QoS params for this MAC
274 * @bcast_sta: station used for broadcast packets. Used by the following 276 * @bcast_sta: station used for broadcast packets. Used by the following
275 * vifs: P2P_DEVICE, GO and AP. 277 * vifs: P2P_DEVICE, GO and AP.
@@ -285,6 +287,7 @@ struct iwl_mvm_vif {
285 bool uploaded; 287 bool uploaded;
286 bool ap_ibss_active; 288 bool ap_ibss_active;
287 bool monitor_active; 289 bool monitor_active;
290 bool low_latency;
288 struct iwl_mvm_vif_bf_data bf_data; 291 struct iwl_mvm_vif_bf_data bf_data;
289 292
290 u32 ap_beacon_time; 293 u32 ap_beacon_time;
@@ -909,6 +912,26 @@ void iwl_mvm_update_smps(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
909 enum iwl_mvm_smps_type_request req_type, 912 enum iwl_mvm_smps_type_request req_type,
910 enum ieee80211_smps_mode smps_request); 913 enum ieee80211_smps_mode smps_request);
911 914
915/* Low latency */
916int iwl_mvm_update_low_latency(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
917 bool value);
918/* get VMACLowLatencyMode */
919static inline bool iwl_mvm_vif_low_latency(struct iwl_mvm_vif *mvmvif)
920{
921 /*
922 * should this consider associated/active/... state?
923 *
924 * Normally low-latency should only be active on interfaces
925 * that are active, but at least with debugfs it can also be
926 * enabled on interfaces that aren't active. However, when
927 * interface aren't active then they aren't added into the
928 * binding, so this has no real impact. For now, just return
929 * the current desired low-latency state.
930 */
931
932 return mvmvif->low_latency;
933}
934
912/* Thermal management and CT-kill */ 935/* Thermal management and CT-kill */
913void iwl_mvm_tt_handler(struct iwl_mvm *mvm); 936void iwl_mvm_tt_handler(struct iwl_mvm *mvm);
914void iwl_mvm_tt_initialize(struct iwl_mvm *mvm); 937void iwl_mvm_tt_initialize(struct iwl_mvm *mvm);