aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/mwifiex/main.h
diff options
context:
space:
mode:
authorAvinash Patil <patila@marvell.com>2014-02-07 19:30:39 -0500
committerJohn W. Linville <linville@tuxdriver.com>2014-02-12 15:36:24 -0500
commit5f6d5983394fd7b918385dbee7e4d983a7b990d9 (patch)
treef68702cb9d84da4ea95b9721009c232034baf1e2 /drivers/net/wireless/mwifiex/main.h
parent9ed230bcbab74a84b4f7d8eade107cd4c20630df (diff)
mwifiex: add VHT support for TDLS
During TDLS setup request/response, if HW is 11ac capable, we add VHT Capability IEs in outgoing data frame. Also while processing received setup request/response, we preserve peer's 11ac capability retrieved from IEs. Patch also gets VHT parameters from config_station handlers and sets it to FW using TDLS config command. Signed-off-by: Avinash Patil <patila@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/mwifiex/main.h')
-rw-r--r--drivers/net/wireless/mwifiex/main.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/drivers/net/wireless/mwifiex/main.h b/drivers/net/wireless/mwifiex/main.h
index 6d49d99045c0..91df7ee4c612 100644
--- a/drivers/net/wireless/mwifiex/main.h
+++ b/drivers/net/wireless/mwifiex/main.h
@@ -273,6 +273,21 @@ struct ieee_types_extcap {
273 u8 ext_capab[8]; 273 u8 ext_capab[8];
274} __packed; 274} __packed;
275 275
276struct ieee_types_vht_cap {
277 struct ieee_types_header ieee_hdr;
278 struct ieee80211_vht_cap vhtcap;
279} __packed;
280
281struct ieee_types_vht_oper {
282 struct ieee_types_header ieee_hdr;
283 struct ieee80211_vht_operation vhtoper;
284} __packed;
285
286struct ieee_types_aid {
287 struct ieee_types_header ieee_hdr;
288 u16 aid;
289} __packed;
290
276struct mwifiex_bssdescriptor { 291struct mwifiex_bssdescriptor {
277 u8 mac_address[ETH_ALEN]; 292 u8 mac_address[ETH_ALEN];
278 struct cfg80211_ssid ssid; 293 struct cfg80211_ssid ssid;
@@ -603,10 +618,13 @@ struct mwifiex_tdls_capab {
603 u8 rates_len; 618 u8 rates_len;
604 u8 qos_info; 619 u8 qos_info;
605 u8 coex_2040; 620 u8 coex_2040;
621 u16 aid;
606 struct ieee80211_ht_cap ht_capb; 622 struct ieee80211_ht_cap ht_capb;
607 struct ieee80211_ht_operation ht_oper; 623 struct ieee80211_ht_operation ht_oper;
608 struct ieee_types_extcap extcap; 624 struct ieee_types_extcap extcap;
609 struct ieee_types_generic rsn_ie; 625 struct ieee_types_generic rsn_ie;
626 struct ieee80211_vht_cap vhtcap;
627 struct ieee80211_vht_operation vhtoper;
610}; 628};
611 629
612/* This is AP/TDLS specific structure which stores information 630/* This is AP/TDLS specific structure which stores information
@@ -617,6 +635,7 @@ struct mwifiex_sta_node {
617 u8 mac_addr[ETH_ALEN]; 635 u8 mac_addr[ETH_ALEN];
618 u8 is_wmm_enabled; 636 u8 is_wmm_enabled;
619 u8 is_11n_enabled; 637 u8 is_11n_enabled;
638 u8 is_11ac_enabled;
620 u8 ampdu_sta[MAX_NUM_TID]; 639 u8 ampdu_sta[MAX_NUM_TID];
621 u16 rx_seq[MAX_NUM_TID]; 640 u16 rx_seq[MAX_NUM_TID];
622 u16 max_amsdu; 641 u16 max_amsdu;
@@ -1215,6 +1234,9 @@ void mwifiex_process_tdls_action_frame(struct mwifiex_private *priv,
1215 u8 *buf, int len); 1234 u8 *buf, int len);
1216int mwifiex_tdls_oper(struct mwifiex_private *priv, u8 *peer, u8 action); 1235int mwifiex_tdls_oper(struct mwifiex_private *priv, u8 *peer, u8 action);
1217int mwifiex_get_tdls_link_status(struct mwifiex_private *priv, u8 *mac); 1236int mwifiex_get_tdls_link_status(struct mwifiex_private *priv, u8 *mac);
1237bool mwifiex_is_bss_in_11ac_mode(struct mwifiex_private *priv);
1238u8 mwifiex_get_center_freq_index(struct mwifiex_private *priv, u8 band,
1239 u32 pri_chan, u8 chan_bw);
1218 1240
1219#ifdef CONFIG_DEBUG_FS 1241#ifdef CONFIG_DEBUG_FS
1220void mwifiex_debugfs_init(void); 1242void mwifiex_debugfs_init(void);