summaryrefslogtreecommitdiff
path: root/fwcmd.h
diff options
context:
space:
mode:
authorDavid Lin <dlin@marvell.com>2015-10-16 12:52:21 +0800
committerDavid Lin <dlin@marvell.com>2015-10-16 12:52:21 +0800
commit7a6aff718d2de7dee6f9d82eae8af91667e8ee86 (patch)
treef814ad67ecaccb2f005ba5f739632f8a398f629a /fwcmd.h
parent59e0d3d167a5bc2c03010df4ed54cc0653b5ae58 (diff)
Commit mwlwifi driver 10.3.0.10.
1. Enhance Tx throughput. 2. Add the mechanism to stop and wake up sub Tx queue via ieee80211_stop_queue() and ieee80211_wake_queue(). 3. Refine code related to BA. 4. Replace BUG_ON() with WARN_ON() as suggested by LWN. 5. Acknowledge all packets in AMSDU to mac80211 after transmission is done. 6. Merge patch from community: fix a problem where the resources are left claimed if the firmware fails to load. 7. Replace dma_alloc_coherent() with dmam_alloc_coherent(). 8. Add debugfs. 9. Add linux version check to apply new API ieee80211_hw_set() existed after kernel 4.2. 10. Rearrange spin lock sequences in flushing AMSDU function to avoid dead lock on OpenWrt platform. Signed-off-by: David Lin <dlin@marvell.com>
Diffstat (limited to 'fwcmd.h')
-rw-r--r--fwcmd.h31
1 files changed, 29 insertions, 2 deletions
diff --git a/fwcmd.h b/fwcmd.h
index 6b8ec74..6775c98 100644
--- a/fwcmd.h
+++ b/fwcmd.h
@@ -33,6 +33,15 @@
#define HOSTCMD_STA_FWRDY_SIGNATURE 0xF0F1F2F4
#define HOSTCMD_SOFTAP_FWRDY_SIGNATURE 0xF1F2F4A5
+#define GUARD_INTERVAL_STANDARD 1
+#define GUARD_INTERVAL_SHORT 2
+#define GUARD_INTERVAL_AUTO 3
+
+#define LINK_CS_STATE_CONSERV 0
+#define LINK_CS_STATE_AGGR 1
+#define LINK_CS_STATE_AUTO 2
+#define LINK_CS_STATE_AUTO_DISABLED 3
+
enum {
WL_ANTENNATYPE_RX = 1,
WL_ANTENNATYPE_TX = 2,
@@ -59,6 +68,10 @@ int mwl_fwcmd_set_hw_specs(struct ieee80211_hw *hw);
int mwl_fwcmd_get_stat(struct ieee80211_hw *hw,
struct ieee80211_low_level_stats *stats);
+int mwl_fwcmd_reg_bb(struct ieee80211_hw *hw, u8 flag, u32 reg, u32 *val);
+
+int mwl_fwcmd_reg_rf(struct ieee80211_hw *hw, u8 flag, u32 reg, u32 *val);
+
int mwl_fwcmd_radio_enable(struct ieee80211_hw *hw);
int mwl_fwcmd_radio_disable(struct ieee80211_hw *hw);
@@ -66,6 +79,9 @@ int mwl_fwcmd_radio_disable(struct ieee80211_hw *hw);
int mwl_fwcmd_set_radio_preamble(struct ieee80211_hw *hw,
bool short_preamble);
+int mwl_fwcmd_get_addr_value(struct ieee80211_hw *hw, u32 addr, u32 len,
+ u32 *val, u16 set);
+
int mwl_fwcmd_max_tx_power(struct ieee80211_hw *hw,
struct ieee80211_conf *conf, u8 fraction);
@@ -92,12 +108,16 @@ int mwl_fwcmd_set_rts_threshold(struct ieee80211_hw *hw,
int mwl_fwcmd_set_edca_params(struct ieee80211_hw *hw, u8 index,
u16 cw_min, u16 cw_max, u8 aifs, u16 txop);
-int mwl_fwcmd_set_wmm_mode(struct ieee80211_hw *hw,
- bool enable);
+int mwl_fwcmd_set_wmm_mode(struct ieee80211_hw *hw, bool enable);
+
+int mwl_fwcmd_ht_guard_interval(struct ieee80211_hw *hw, u32 gi_type);
int mwl_fwcmd_use_fixed_rate(struct ieee80211_hw *hw,
int mcast, int mgmt);
+int mwl_fwcmd_set_linkadapt_cs_mode(struct ieee80211_hw *hw,
+ u16 cs_mode);
+
int mwl_fwcmd_set_rate_adapt_mode(struct ieee80211_hw *hw,
u16 mode);
@@ -155,6 +175,9 @@ struct mwl_ampdu_stream *mwl_fwcmd_add_stream(struct ieee80211_hw *hw,
struct ieee80211_sta *sta,
u8 tid);
+void mwl_fwcmd_del_sta_streams(struct ieee80211_hw *hw,
+ struct ieee80211_sta *sta);
+
int mwl_fwcmd_start_stream(struct ieee80211_hw *hw,
struct mwl_ampdu_stream *stream);
@@ -166,10 +189,14 @@ struct mwl_ampdu_stream *mwl_fwcmd_lookup_stream(struct ieee80211_hw *hw,
bool mwl_fwcmd_ampdu_allowed(struct ieee80211_sta *sta, u8 tid);
+int mwl_fwcmd_set_optimization_level(struct ieee80211_hw *hw, u8 opt_level);
+
int mwl_fwcmd_set_dwds_stamode(struct ieee80211_hw *hw, bool enable);
int mwl_fwcmd_set_fw_flush_timer(struct ieee80211_hw *hw, u32 value);
int mwl_fwcmd_set_cdd(struct ieee80211_hw *hw);
+int mwl_fwcmd_reg_cau(struct ieee80211_hw *hw, u8 flag, u32 reg, u32 *val);
+
#endif /* _fwcmd_h_ */