[iwm] Sync rs (rate-selection) API definitions from Linux iwlwifi.
* While there clean up alignments and line wrapping in existing definitions for rs API in if_iwmreg.h Obtained from: dragonflybsd.git 085e37a042bdb17081e495e46919359ce43aa118
This commit is contained in:
parent
eeb25960ec
commit
4cc04baa58
@ -4056,6 +4056,42 @@ enum {
|
||||
#define IWM_LQ_FLAG_DYNAMIC_BW_POS 6
|
||||
#define IWM_LQ_FLAG_DYNAMIC_BW_MSK (1 << IWM_LQ_FLAG_DYNAMIC_BW_POS)
|
||||
|
||||
/* Single Stream Tx Parameters (lq_cmd->ss_params)
|
||||
* Flags to control a smart FW decision about whether BFER/STBC/SISO will be
|
||||
* used for single stream Tx.
|
||||
*/
|
||||
|
||||
/* Bit 0-1: Max STBC streams allowed. Can be 0-3.
|
||||
* (0) - No STBC allowed
|
||||
* (1) - 2x1 STBC allowed (HT/VHT)
|
||||
* (2) - 4x2 STBC allowed (HT/VHT)
|
||||
* (3) - 3x2 STBC allowed (HT only)
|
||||
* All our chips are at most 2 antennas so only (1) is valid for now.
|
||||
*/
|
||||
#define IWM_LQ_SS_STBC_ALLOWED_POS 0
|
||||
#define IWM_LQ_SS_STBC_ALLOWED_MSK (3 << IWM_LQ_SS_STBC_ALLOWED_MSK)
|
||||
|
||||
/* 2x1 STBC is allowed */
|
||||
#define IWM_LQ_SS_STBC_1SS_ALLOWED (1 << IWM_LQ_SS_STBC_ALLOWED_POS)
|
||||
|
||||
/* Bit 2: Beamformer (VHT only) is allowed */
|
||||
#define IWM_LQ_SS_BFER_ALLOWED_POS 2
|
||||
#define IWM_LQ_SS_BFER_ALLOWED (1 << IWM_LQ_SS_BFER_ALLOWED_POS)
|
||||
|
||||
/* Bit 3: Force BFER or STBC for testing
|
||||
* If this is set:
|
||||
* If BFER is allowed then force the ucode to choose BFER else
|
||||
* If STBC is allowed then force the ucode to choose STBC over SISO
|
||||
*/
|
||||
#define IWM_LQ_SS_FORCE_POS 3
|
||||
#define IWM_LQ_SS_FORCE (1 << IWM_LQ_SS_FORCE_POS)
|
||||
|
||||
/* Bit 31: ss_params field is valid. Used for FW backward compatibility
|
||||
* with other drivers which don't support the ss_params API yet
|
||||
*/
|
||||
#define IWM_LQ_SS_PARAMS_VALID_POS 31
|
||||
#define IWM_LQ_SS_PARAMS_VALID (1 << IWM_LQ_SS_PARAMS_VALID_POS)
|
||||
|
||||
/**
|
||||
* struct iwm_lq_cmd - link quality command
|
||||
* @sta_id: station to update
|
||||
@ -4078,11 +4114,11 @@ enum {
|
||||
* 2 - 0x3f: maximal number of frames (up to 3f == 63)
|
||||
* @rs_table: array of rates for each TX try, each is rate_n_flags,
|
||||
* meaning it is a combination of IWM_RATE_MCS_* and IWM_RATE_*_PLCP
|
||||
* @bf_params: beam forming params, currently not used
|
||||
* @ss_params: single stream features. declare whether STBC or BFER are allowed.
|
||||
*/
|
||||
struct iwm_lq_cmd {
|
||||
uint8_t sta_id;
|
||||
uint8_t reserved1;
|
||||
uint8_t reduced_tpc;
|
||||
uint16_t control;
|
||||
/* LINK_QUAL_GENERAL_PARAMS_API_S_VER_1 */
|
||||
uint8_t flags;
|
||||
@ -4096,7 +4132,7 @@ struct iwm_lq_cmd {
|
||||
uint8_t agg_frame_cnt_limit;
|
||||
uint32_t reserved2;
|
||||
uint32_t rs_table[IWM_LQ_MAX_RETRY_NUM];
|
||||
uint32_t bf_params;
|
||||
uint32_t ss_params;
|
||||
}; /* LINK_QUALITY_CMD_API_S_VER_1 */
|
||||
|
||||
/*
|
||||
@ -4533,7 +4569,8 @@ struct iwm_mvm_tx_resp {
|
||||
uint8_t pa_integ_res_b[3];
|
||||
uint8_t pa_integ_res_c[3];
|
||||
uint16_t measurement_req_id;
|
||||
uint16_t reserved;
|
||||
uint8_t reduced_tpc;
|
||||
uint8_t reserved;
|
||||
|
||||
uint32_t tfd_info;
|
||||
uint16_t seq_ctl;
|
||||
|
Loading…
Reference in New Issue
Block a user