Merge branch 'iwlwifi-fixes' into iwlwifi-next
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / iwlwifi / mvm / rs.h
index f8f5bf21cc38000910c8ba0028eaea9d8e4b3f77..e4aa9346a23103f4eb660d087d0f7b8542334e42 100644 (file)
@@ -170,6 +170,7 @@ struct rs_rate {
        bool sgi;
        bool ldpc;
        bool stbc;
+       bool bfer;
 };
 
 
@@ -240,6 +241,13 @@ enum rs_column {
        RS_COLUMN_INVALID,
 };
 
+enum rs_ss_force_opt {
+       RS_SS_FORCE_NONE = 0,
+       RS_SS_FORCE_STBC,
+       RS_SS_FORCE_BFER,
+       RS_SS_FORCE_SISO,
+};
+
 /* Packet stats per rate */
 struct rs_rate_stats {
        u64 success;
@@ -293,7 +301,9 @@ struct iwl_lq_sta {
        u64 last_tx;
        bool is_vht;
        bool ldpc;              /* LDPC Rx is supported by the STA */
-       bool stbc;              /* Tx STBC is supported by chip and Rx by STA */
+       bool stbc_capable;      /* Tx STBC is supported by chip and Rx by STA */
+       bool bfer_capable;      /* Remote supports beamformee and we BFer */
+
        enum ieee80211_band band;
 
        /* The following are bitmaps of rates; IWL_RATE_6M_MASK, etc. */
@@ -327,6 +337,9 @@ struct iwl_lq_sta {
 #ifdef CONFIG_MAC80211_DEBUGFS
                u32 dbg_fixed_rate;
                u8 dbg_fixed_txp_reduction;
+
+               /* force STBC/BFER/SISO for testing */
+               enum rs_ss_force_opt ss_force;
 #endif
                u8 chains;
                s8 chain_signal[IEEE80211_MAX_CHAINS];