aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorJanusz Dziedzic <janusz.dziedzic@gmail.com>2013-03-21 10:47:56 -0400
committerJohannes Berg <johannes.berg@intel.com>2013-03-22 09:13:42 -0400
commit67baf66339f82b5ddef5731caedb1e6db496818d (patch)
tree828716f2f60aec07f8c912ce0de7f89a3494b34e /drivers/net/wireless
parent934457eeb0bbe9af1849d9201cb3fb81fd9fa4d0 (diff)
mac80211: add P2P NoA settings
Add P2P NoA settings for STA mode. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com> [fix docs] Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/mac-ctxt.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/mac-ctxt.c b/drivers/net/wireless/iwlwifi/mvm/mac-ctxt.c
index 341dbc0237ea..1d20287b1120 100644
--- a/drivers/net/wireless/iwlwifi/mvm/mac-ctxt.c
+++ b/drivers/net/wireless/iwlwifi/mvm/mac-ctxt.c
@@ -662,6 +662,7 @@ static int iwl_mvm_mac_ctxt_cmd_p2p_client(struct iwl_mvm *mvm,
662 u32 action) 662 u32 action)
663{ 663{
664 struct iwl_mac_ctx_cmd cmd = {}; 664 struct iwl_mac_ctx_cmd cmd = {};
665 struct ieee80211_p2p_noa_attr *noa = &vif->bss_conf.p2p_noa_attr;
665 666
666 WARN_ON(vif->type != NL80211_IFTYPE_STATION || !vif->p2p); 667 WARN_ON(vif->type != NL80211_IFTYPE_STATION || !vif->p2p);
667 668
@@ -671,7 +672,8 @@ static int iwl_mvm_mac_ctxt_cmd_p2p_client(struct iwl_mvm *mvm,
671 /* Fill the data specific for station mode */ 672 /* Fill the data specific for station mode */
672 iwl_mvm_mac_ctxt_cmd_fill_sta(mvm, vif, &cmd.p2p_sta.sta); 673 iwl_mvm_mac_ctxt_cmd_fill_sta(mvm, vif, &cmd.p2p_sta.sta);
673 674
674 cmd.p2p_sta.ctwin = cpu_to_le32(vif->bss_conf.p2p_ctwindow); 675 cmd.p2p_sta.ctwin = cpu_to_le32(noa->oppps_ctwindow &
676 IEEE80211_P2P_OPPPS_CTWINDOW_MASK);
675 677
676 return iwl_mvm_mac_ctxt_send_cmd(mvm, &cmd); 678 return iwl_mvm_mac_ctxt_send_cmd(mvm, &cmd);
677} 679}
@@ -892,6 +894,7 @@ static int iwl_mvm_mac_ctxt_cmd_go(struct iwl_mvm *mvm,
892 u32 action) 894 u32 action)
893{ 895{
894 struct iwl_mac_ctx_cmd cmd = {}; 896 struct iwl_mac_ctx_cmd cmd = {};
897 struct ieee80211_p2p_noa_attr *noa = &vif->bss_conf.p2p_noa_attr;
895 898
896 WARN_ON(vif->type != NL80211_IFTYPE_AP || !vif->p2p); 899 WARN_ON(vif->type != NL80211_IFTYPE_AP || !vif->p2p);
897 900
@@ -901,8 +904,11 @@ static int iwl_mvm_mac_ctxt_cmd_go(struct iwl_mvm *mvm,
901 /* Fill the data specific for GO mode */ 904 /* Fill the data specific for GO mode */
902 iwl_mvm_mac_ctxt_cmd_fill_ap(mvm, vif, &cmd.go.ap); 905 iwl_mvm_mac_ctxt_cmd_fill_ap(mvm, vif, &cmd.go.ap);
903 906
904 cmd.go.ctwin = cpu_to_le32(vif->bss_conf.p2p_ctwindow); 907 cmd.go.ctwin = cpu_to_le32(noa->oppps_ctwindow &
905 cmd.go.opp_ps_enabled = cpu_to_le32(!!vif->bss_conf.p2p_oppps); 908 IEEE80211_P2P_OPPPS_CTWINDOW_MASK);
909 cmd.go.opp_ps_enabled =
910 cpu_to_le32(!!(noa->oppps_ctwindow &
911 IEEE80211_P2P_OPPPS_ENABLE_BIT));
906 912
907 return iwl_mvm_mac_ctxt_send_cmd(mvm, &cmd); 913 return iwl_mvm_mac_ctxt_send_cmd(mvm, &cmd);
908} 914}