aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/mwifiex/main.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/mwifiex/main.h')
-rw-r--r--drivers/net/wireless/mwifiex/main.h22
1 files changed, 19 insertions, 3 deletions
diff --git a/drivers/net/wireless/mwifiex/main.h b/drivers/net/wireless/mwifiex/main.h
index 7035ade9af74..b7484efc9443 100644
--- a/drivers/net/wireless/mwifiex/main.h
+++ b/drivers/net/wireless/mwifiex/main.h
@@ -130,6 +130,9 @@ enum {
130#define MWIFIEX_USB_TYPE_DATA 0xBEADC0DE 130#define MWIFIEX_USB_TYPE_DATA 0xBEADC0DE
131#define MWIFIEX_USB_TYPE_EVENT 0xBEEFFACE 131#define MWIFIEX_USB_TYPE_EVENT 0xBEEFFACE
132 132
133/* Threshold for tx_timeout_cnt before we trigger a card reset */
134#define TX_TIMEOUT_THRESHOLD 6
135
133struct mwifiex_dbg { 136struct mwifiex_dbg {
134 u32 num_cmd_host_to_card_failure; 137 u32 num_cmd_host_to_card_failure;
135 u32 num_cmd_sleep_cfm_host_to_card_failure; 138 u32 num_cmd_sleep_cfm_host_to_card_failure;
@@ -210,15 +213,12 @@ struct mwifiex_ra_list_tbl {
210 213
211struct mwifiex_tid_tbl { 214struct mwifiex_tid_tbl {
212 struct list_head ra_list; 215 struct list_head ra_list;
213 /* spin lock for tid table */
214 spinlock_t tid_tbl_lock;
215 struct mwifiex_ra_list_tbl *ra_list_curr; 216 struct mwifiex_ra_list_tbl *ra_list_curr;
216}; 217};
217 218
218#define WMM_HIGHEST_PRIORITY 7 219#define WMM_HIGHEST_PRIORITY 7
219#define HIGH_PRIO_TID 7 220#define HIGH_PRIO_TID 7
220#define LOW_PRIO_TID 0 221#define LOW_PRIO_TID 0
221#define NO_PKT_PRIO_TID (-1)
222 222
223struct mwifiex_wmm_desc { 223struct mwifiex_wmm_desc {
224 struct mwifiex_tid_tbl tid_tbl_ptr[MAX_NUM_TID]; 224 struct mwifiex_tid_tbl tid_tbl_ptr[MAX_NUM_TID];
@@ -394,6 +394,8 @@ struct mwifiex_private {
394 u8 curr_addr[ETH_ALEN]; 394 u8 curr_addr[ETH_ALEN];
395 u8 media_connected; 395 u8 media_connected;
396 u32 num_tx_timeout; 396 u32 num_tx_timeout;
397 /* track consecutive timeout */
398 u8 tx_timeout_cnt;
397 struct net_device *netdev; 399 struct net_device *netdev;
398 struct net_device_stats stats; 400 struct net_device_stats stats;
399 u16 curr_pkt_filter; 401 u16 curr_pkt_filter;
@@ -793,6 +795,8 @@ void mwifiex_cancel_pending_ioctl(struct mwifiex_adapter *adapter);
793 795
794void mwifiex_insert_cmd_to_free_q(struct mwifiex_adapter *adapter, 796void mwifiex_insert_cmd_to_free_q(struct mwifiex_adapter *adapter,
795 struct cmd_ctrl_node *cmd_node); 797 struct cmd_ctrl_node *cmd_node);
798void mwifiex_recycle_cmd_node(struct mwifiex_adapter *adapter,
799 struct cmd_ctrl_node *cmd_node);
796 800
797void mwifiex_insert_cmd_to_pending_q(struct mwifiex_adapter *adapter, 801void mwifiex_insert_cmd_to_pending_q(struct mwifiex_adapter *adapter,
798 struct cmd_ctrl_node *cmd_node, 802 struct cmd_ctrl_node *cmd_node,
@@ -907,12 +911,20 @@ int mwifiex_set_secure_params(struct mwifiex_private *priv,
907void mwifiex_set_ht_params(struct mwifiex_private *priv, 911void mwifiex_set_ht_params(struct mwifiex_private *priv,
908 struct mwifiex_uap_bss_param *bss_cfg, 912 struct mwifiex_uap_bss_param *bss_cfg,
909 struct cfg80211_ap_settings *params); 913 struct cfg80211_ap_settings *params);
914void mwifiex_set_vht_params(struct mwifiex_private *priv,
915 struct mwifiex_uap_bss_param *bss_cfg,
916 struct cfg80211_ap_settings *params);
910void mwifiex_set_uap_rates(struct mwifiex_uap_bss_param *bss_cfg, 917void mwifiex_set_uap_rates(struct mwifiex_uap_bss_param *bss_cfg,
911 struct cfg80211_ap_settings *params); 918 struct cfg80211_ap_settings *params);
919void mwifiex_set_vht_width(struct mwifiex_private *priv,
920 enum nl80211_chan_width width,
921 bool ap_11ac_disable);
912void 922void
913mwifiex_set_wmm_params(struct mwifiex_private *priv, 923mwifiex_set_wmm_params(struct mwifiex_private *priv,
914 struct mwifiex_uap_bss_param *bss_cfg, 924 struct mwifiex_uap_bss_param *bss_cfg,
915 struct cfg80211_ap_settings *params); 925 struct cfg80211_ap_settings *params);
926void mwifiex_set_ba_params(struct mwifiex_private *priv);
927void mwifiex_set_11ac_ba_params(struct mwifiex_private *priv);
916 928
917/* 929/*
918 * This function checks if the queuing is RA based or not. 930 * This function checks if the queuing is RA based or not.
@@ -1098,11 +1110,15 @@ int mwifiex_del_virtual_intf(struct wiphy *wiphy, struct wireless_dev *wdev);
1098 1110
1099void mwifiex_set_sys_config_invalid_data(struct mwifiex_uap_bss_param *config); 1111void mwifiex_set_sys_config_invalid_data(struct mwifiex_uap_bss_param *config);
1100 1112
1113int mwifiex_add_wowlan_magic_pkt_filter(struct mwifiex_adapter *adapter);
1114
1101int mwifiex_set_mgmt_ies(struct mwifiex_private *priv, 1115int mwifiex_set_mgmt_ies(struct mwifiex_private *priv,
1102 struct cfg80211_beacon_data *data); 1116 struct cfg80211_beacon_data *data);
1103int mwifiex_del_mgmt_ies(struct mwifiex_private *priv); 1117int mwifiex_del_mgmt_ies(struct mwifiex_private *priv);
1104u8 *mwifiex_11d_code_2_region(u8 code); 1118u8 *mwifiex_11d_code_2_region(u8 code);
1105 1119
1120extern const struct ethtool_ops mwifiex_ethtool_ops;
1121
1106#ifdef CONFIG_DEBUG_FS 1122#ifdef CONFIG_DEBUG_FS
1107void mwifiex_debugfs_init(void); 1123void mwifiex_debugfs_init(void);
1108void mwifiex_debugfs_remove(void); 1124void mwifiex_debugfs_remove(void);