xref: /OK3568_Linux_fs/kernel/drivers/net/wireless/nxp/mlan/mlan_11ac.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /** @file mlan_11ac.h
2  *
3  *  @brief This file contains the functions for station ioctl.
4  *
5  *
6  *  Copyright 2011-2021 NXP
7  *
8  *  This software file (the File) is distributed by NXP
9  *  under the terms of the GNU General Public License Version 2, June 1991
10  *  (the License).  You may use, redistribute and/or modify the File in
11  *  accordance with the terms and conditions of the License, a copy of which
12  *  is available by writing to the Free Software Foundation, Inc.,
13  *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or on the
14  *  worldwide web at http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
15  *
16  *  THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE
17  *  IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE
18  *  ARE EXPRESSLY DISCLAIMED.  The License provides additional details about
19  *  this warranty disclaimer.
20  *
21  */
22 
23 #ifndef _MLAN_11AC_H_
24 #define _MLAN_11AC_H_
25 
26 #include "mlan_11n_aggr.h"
27 #include "mlan_11n_rxreorder.h"
28 #include "mlan_wmm.h"
29 
30 void wlan_show_dot11acdevcap(pmlan_adapter pmadapter, t_u32 cap);
31 void wlan_show_dot11acmcssupport(pmlan_adapter pmadapter, t_u32 support);
32 t_u16 wlan_convert_mcsmap_to_maxrate(mlan_private *priv, t_u16 bands,
33 				     t_u16 mcs_map);
34 void wlan_fill_vht_cap_tlv(mlan_private *priv, MrvlIETypes_VHTCap_t *pvht_cap,
35 			   t_u16 bands, t_u8 flag, t_u8 bw_80p80);
36 void wlan_fill_vht_cap_ie(mlan_private *priv, IEEEtypes_VHTCap_t *pvht_cap,
37 			  t_u16 bands);
38 void wlan_fill_tdls_vht_oprat_ie(mlan_private *priv,
39 				 IEEEtypes_VHTOprat_t *vht_oprat,
40 				 sta_node *sta_ptr);
41 t_u8 wlan_is_ap_in_11ac_mode(mlan_private *priv);
42 int wlan_cmd_append_11ac_tlv(mlan_private *pmpriv, BSSDescriptor_t *pbss_desc,
43 			     t_u8 **ppbuffer);
44 mlan_status wlan_11ac_cfg_ioctl(pmlan_adapter pmadapter,
45 				pmlan_ioctl_req pioctl_req);
46 void wlan_update_11ac_cap(mlan_private *pmpriv);
47 t_u8 wlan_11ac_bandconfig_allowed(mlan_private *pmpriv, t_u16 bss_band);
48 t_u8 wlan_is_80_80_support(mlan_private *pmpriv, BSSDescriptor_t *pbss_desc);
49 
50 mlan_status wlan_cmd_11ac_cfg(pmlan_private pmpriv, HostCmd_DS_COMMAND *cmd,
51 			      t_u16 cmd_action, t_void *pdata_buf);
52 
53 mlan_status wlan_ret_11ac_cfg(pmlan_private pmpriv, HostCmd_DS_COMMAND *resp,
54 			      mlan_ioctl_req *pioctl_buf);
55 
56 #endif /* _MLAN_11AC_H_ */
57