diff options
author | Janusz Dziedzic <janusz.dziedzic@gmail.com> | 2013-03-21 10:47:56 -0400 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-03-22 09:13:42 -0400 |
commit | 67baf66339f82b5ddef5731caedb1e6db496818d (patch) | |
tree | 828716f2f60aec07f8c912ce0de7f89a3494b34e /drivers/net/wireless | |
parent | 934457eeb0bbe9af1849d9201cb3fb81fd9fa4d0 (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.c | 12 |
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 | } |