aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/mvm/fw-api-rs.h
diff options
context:
space:
mode:
authorKalle Valo <kvalo@codeaurora.org>2015-02-06 01:57:37 -0500
committerKalle Valo <kvalo@codeaurora.org>2015-02-06 01:57:37 -0500
commit8cd4cbf249483822c6d52109b3d6ec6fd189a32b (patch)
tree2fb0e2e4f54bd2eca28cc22ce00c74268d32f45c /drivers/net/wireless/iwlwifi/mvm/fw-api-rs.h
parent297540f69fa9c7292c9866e71cb22a7bc4c5003b (diff)
parentb9a641d9cb768177a7c867e382a2fdb6023b06ad (diff)
Merge tag 'iwlwifi-next-for-kalle-2015-02-03' of https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next
* Add support for beamforming * Enable stuck queue detection for iwlmvm * A few fixes for EBS scan * Fixes for various failure paths * Improvements for TDLS Offchannel
Diffstat (limited to 'drivers/net/wireless/iwlwifi/mvm/fw-api-rs.h')
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/fw-api-rs.h43
1 files changed, 34 insertions, 9 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/fw-api-rs.h b/drivers/net/wireless/iwlwifi/mvm/fw-api-rs.h
index 6a2a6b0ab91b..0f1ea80a55ef 100644
--- a/drivers/net/wireless/iwlwifi/mvm/fw-api-rs.h
+++ b/drivers/net/wireless/iwlwifi/mvm/fw-api-rs.h
@@ -308,16 +308,41 @@ enum {
308#define LQ_FLAG_DYNAMIC_BW_POS 6 308#define LQ_FLAG_DYNAMIC_BW_POS 6
309#define LQ_FLAG_DYNAMIC_BW_MSK (1 << LQ_FLAG_DYNAMIC_BW_POS) 309#define LQ_FLAG_DYNAMIC_BW_MSK (1 << LQ_FLAG_DYNAMIC_BW_POS)
310 310
311/* Single Stream Parameters 311/* Single Stream Tx Parameters (lq_cmd->ss_params)
312 * SS_STBC/BFER_ALLOWED - Controls whether STBC or Beamformer (BFER) is allowed 312 * Flags to control a smart FW decision about whether BFER/STBC/SISO will be
313 * ucode will make a smart decision between SISO/STBC/BFER 313 * used for single stream Tx.
314 * SS_PARAMS_VALID - if not set ignore the ss_params field.
315 */ 314 */
316enum { 315
317 RS_SS_STBC_ALLOWED = BIT(0), 316/* Bit 0-1: Max STBC streams allowed. Can be 0-3.
318 RS_SS_BFER_ALLOWED = BIT(1), 317 * (0) - No STBC allowed
319 RS_SS_PARAMS_VALID = BIT(31), 318 * (1) - 2x1 STBC allowed (HT/VHT)
320}; 319 * (2) - 4x2 STBC allowed (HT/VHT)
320 * (3) - 3x2 STBC allowed (HT only)
321 * All our chips are at most 2 antennas so only (1) is valid for now.
322 */
323#define LQ_SS_STBC_ALLOWED_POS 0
324#define LQ_SS_STBC_ALLOWED_MSK (3 << LQ_SS_STBC_ALLOWED_MSK)
325
326/* 2x1 STBC is allowed */
327#define LQ_SS_STBC_1SS_ALLOWED (1 << LQ_SS_STBC_ALLOWED_POS)
328
329/* Bit 2: Beamformer (VHT only) is allowed */
330#define LQ_SS_BFER_ALLOWED_POS 2
331#define LQ_SS_BFER_ALLOWED (1 << LQ_SS_BFER_ALLOWED_POS)
332
333/* Bit 3: Force BFER or STBC for testing
334 * If this is set:
335 * If BFER is allowed then force the ucode to choose BFER else
336 * If STBC is allowed then force the ucode to choose STBC over SISO
337 */
338#define LQ_SS_FORCE_POS 3
339#define LQ_SS_FORCE (1 << LQ_SS_FORCE_POS)
340
341/* Bit 31: ss_params field is valid. Used for FW backward compatibility
342 * with other drivers which don't support the ss_params API yet
343 */
344#define LQ_SS_PARAMS_VALID_POS 31
345#define LQ_SS_PARAMS_VALID (1 << LQ_SS_PARAMS_VALID_POS)
321 346
322/** 347/**
323 * struct iwl_lq_cmd - link quality command 348 * struct iwl_lq_cmd - link quality command