diff options
| author | Linux Build Service Account <lnxbuild@quicinc.com> | 2017-04-25 09:43:33 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-04-25 09:43:33 -0700 |
| commit | c2109fe4614223f86b1d2fdbd3748b2bb581f86f (patch) | |
| tree | 73cb35cbb52e0316db16bc88f8b486ec81bf5a4b | |
| parent | 8cbbedf99674ae8f4a1a2f82c656b362cd626552 (diff) | |
| parent | bb93a9b3e476e9ede93f9ea6506760da84f46d48 (diff) | |
Merge changes I61c1e98f,I632fb31f,I5a213611,Ib0a7f4cd,Iaf05eb8f into wlan-cld2.driver.lnx.1.0-dev
* changes:
qcacld-2.0: CL 3026509 - update fw common interface files
qcacld-2.0: CL 3018077 - update fw common interface files
qcacld-2.0: CL 3002496 - update fw common interface files
qcacld-2.0: CL 2977872 - update fw common interface files
qcacld-2.0: CL 2975160 - update fw common interface files
| -rw-r--r-- | CORE/SERVICES/COMMON/wmi_tlv_defs.h | 18 | ||||
| -rw-r--r-- | CORE/SERVICES/COMMON/wmi_unified.h | 123 | ||||
| -rw-r--r-- | CORE/SERVICES/COMMON/wmi_version.h | 2 | ||||
| -rw-r--r-- | CORE/SERVICES/WMI/wmi_unified.c | 2 |
4 files changed, 126 insertions, 19 deletions
diff --git a/CORE/SERVICES/COMMON/wmi_tlv_defs.h b/CORE/SERVICES/COMMON/wmi_tlv_defs.h index df5c0d906668..3dfe4c584932 100644 --- a/CORE/SERVICES/COMMON/wmi_tlv_defs.h +++ b/CORE/SERVICES/COMMON/wmi_tlv_defs.h @@ -813,6 +813,9 @@ typedef enum { WMITLV_TAG_STRUC_wmi_he_rate_set, WMITLV_TAG_STRUC_wmi_congestion_stats, WMITLV_TAG_STRUC_wmi_set_init_country_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_scan_dbs_duty_cycle_fixed_param, + WMITLV_TAG_STRUC_wmi_scan_dbs_duty_cycle_param_tlv, + WMITLV_TAG_STRUC_wmi_pdev_div_get_rssi_antid_fixed_param, } WMITLV_TAG_ID; /* @@ -1142,6 +1145,8 @@ typedef enum { OP(WMI_VDEV_GET_TX_POWER_CMDID) \ OP(WMI_OFFCHAN_DATA_TX_SEND_CMDID) \ OP(WMI_SET_INIT_COUNTRY_CMDID) \ + OP(WMI_SET_SCAN_DBS_DUTY_CYCLE_CMDID) \ + OP(WMI_PDEV_DIV_GET_RSSI_ANTID_CMDID) \ /* add new CMD_LIST elements above this line */ /* @@ -1525,6 +1530,13 @@ WMITLV_CREATE_PARAM_STRUC(WMI_START_SCAN_CMDID); WMITLV_CREATE_PARAM_STRUC(WMI_SCAN_ADAPTIVE_DWELL_CONFIG_CMDID); +/* Set scan selection duty cycle */ +#define WMITLV_TABLE_WMI_SET_SCAN_DBS_DUTY_CYCLE_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_scan_dbs_duty_cycle_fixed_param, wmi_scan_dbs_duty_cycle_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_scan_dbs_duty_cycle_tlv_param, param, WMITLV_SIZE_VAR) + +WMITLV_CREATE_PARAM_STRUC(WMI_SET_SCAN_DBS_DUTY_CYCLE_CMDID); + /* Start ExtScan Cmd */ #define WMITLV_TABLE_WMI_EXTSCAN_START_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_extscan_start_cmd_fixed_param, wmi_extscan_start_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ @@ -2130,6 +2142,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_GREEN_AP_PS_ENABLE_CMDID); WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_GET_TPC_CONFIG_CMDID); +/* PDEV Get Antenna diversity chains rssi and antenna index Cmd */ +#define WMITLV_TABLE_WMI_PDEV_DIV_GET_RSSI_ANTID_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_div_get_rssi_antid_fixed_param, wmi_pdev_div_get_rssi_antid_fixed_param, fixed_param, WMITLV_SIZE_FIX) + +WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_DIV_GET_RSSI_ANTID_CMDID); + /* VDEV Get Tx power Cmd */ #define WMITLV_TABLE_WMI_VDEV_GET_TX_POWER_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_get_tx_power_cmd_fixed_param, wmi_vdev_get_tx_power_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) diff --git a/CORE/SERVICES/COMMON/wmi_unified.h b/CORE/SERVICES/COMMON/wmi_unified.h index 8a95b1257b44..c20afd796c16 100644 --- a/CORE/SERVICES/COMMON/wmi_unified.h +++ b/CORE/SERVICES/COMMON/wmi_unified.h @@ -272,6 +272,8 @@ typedef enum { WMI_SCAN_PROB_REQ_OUI_CMDID, /** config adaptive dwell scan */ WMI_SCAN_ADAPTIVE_DWELL_CONFIG_CMDID, + /** Only applicable to DBS capable product */ + WMI_SET_SCAN_DBS_DUTY_CYCLE_CMDID, /* PDEV(physical device) specific commands */ /** set regulatorty ctl id used by FW to determine the exact ctl power limits */ @@ -366,6 +368,8 @@ typedef enum { WMI_PDEV_CHECK_CAL_VERSION_CMDID, /* Set Diversity Gain */ WMI_PDEV_SET_DIVERSITY_GAIN_CMDID, + /** Get chain RSSI and antena index command */ + WMI_PDEV_DIV_GET_RSSI_ANTID_CMDID, /* VDEV (virtual device) specific commands */ /** vdev create */ @@ -2083,6 +2087,7 @@ typedef enum { WMI_FW_AP_RTT_RESPR = 0x00000080, WMI_FW_NAN_RTT_INITR = 0x00000100, WMI_FW_NAN_RTT_RESPR = 0x00000200, + WMI_FW_SCAN_DBS_POLICY = 0x00000400, /* * New fw sub feature capabilites before * WMI_FW_MAX_SUB_FEAT_CAP @@ -2517,6 +2522,9 @@ typedef struct { * which is using MAC ID. 1 means PDEV ID, 0 means MAC ID. */ A_UINT32 use_pdev_id; + + /** Maximum number of scan clients whose DBS scan duty cycle can be configured */ + A_UINT32 max_num_dbs_scan_duty_cycle; } wmi_resource_config; #define WMI_RSRC_CFG_FLAG_SET(word32, flag, value) \ @@ -2752,6 +2760,8 @@ typedef struct { A_UINT32 ie_bitmap[WMI_IE_BITMAP_SIZE]; /** Number of vendor OUIs. In the TLV vendor_oui[] **/ A_UINT32 num_vendor_oui; + /** Scan control flags extended **/ + A_UINT32 scan_ctrl_flags_ext; /** * TLV (tag length value ) parameters follow the scan_cmd @@ -2848,6 +2858,17 @@ typedef enum { #define WMI_SCN_STOP_VAP_ALL 0x01000000 #define WMI_SCAN_STOP_ALL 0x04000000 +/** extended Scan ctrl flags **/ +#define WMI_SCAN_FLAG_EXT_DBS_SCAN_POLICY_MASK 0x00000003 /* Bit 0-1 reserved for DBS scan selection policy.*/ + +#define WMI_SCAN_DBS_POLICY_DEFAULT 0x0 /** Select duty cycle if configured, else fall back to whatever + policy scan manager computes */ +#define WMI_SCAN_DBS_POLICY_FORCE_NONDBS 0x1 /** Force to select Non-DBS scan */ +#define WMI_SCAN_DBS_POLICY_IGNORE_DUTY 0x2 /** Ignore duty cycle even if configured and fall back to whatever + policy scan manager computes*/ +#define WMI_SCAN_DBS_POLICY_RESERVED 0x3 +#define WMI_SCAN_DBS_POLICY_MAX 0x3 + typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_stop_scan_cmd_fixed_param */ /** requestor requesting cancel */ @@ -4358,6 +4379,18 @@ typedef struct { A_UINT32 param; } wmi_pdev_get_tpc_config_cmd_fixed_param; +typedef struct { + A_UINT32 tlv_header; /* WMITLV_TAG_STRUC_wmi_pdev_div_get_rssi_antid_fixed_param */ + /** pdev_id for identifying the MAC */ + A_UINT32 pdev_id; + /** RSSI (rssi_chain_x_pri20) on each chain (units: dB above noise floor) */ + A_UINT32 chain_rssi[WMI_MAX_CHAINS]; + /** index of the last-used antenna for each chain */ + A_UINT32 ant_id[WMI_MAX_CHAINS]; + /** mac address of diversity peer */ + wmi_mac_addr macaddr; +} wmi_pdev_div_get_rssi_antid_fixed_param; + #define WMI_FAST_DIVERSITY_BIT_OFFSET 0 #define WMI_SLOW_DIVERSITY_BIT_OFFSET 1 @@ -7285,6 +7318,21 @@ typedef enum { /* param to specify probe request Tx delay during Fast Initial Link Setup */ WMI_VDEV_PARAM_FILS_MAX_CHANNEL_GUARD_TIME, /* units = milliseconds */ + /* enable or disable NOA for P2P GO */ + WMI_VDEV_PARAM_DISABLE_NOA_P2P_GO, + + /** Per band user management frame fix rate setting + * BIT 31: enable (1) or disable (0) mgmt fix rate for 5G + * BIT 30: enable (1) or disable (0) mgmt fix rate for 2G + * + * BIT 23: 11ax (1) or legacy (0) rate code + * BITS [22..12]: rate code for 5G + * + * BIT 11: 11ax (1) or legacy (0) rate code + * BITS [10..0]: rate code for 2G + */ + WMI_VDEV_PARAM_PER_BAND_MGMT_TX_RATE, + /* * === ADD NEW VDEV PARAM TYPES ABOVE THIS LINE === * The below vdev param types are used for prototyping, and are @@ -17608,26 +17656,37 @@ typedef struct { A_UINT32 mac_id; /* MAC ID */ A_UINT32 rate_flags; /** - * FLAG_ONE_CHAIN 0x001 - one chain mask - * FLAG_TWO_CHAIN 0x005 - two chain mask - * FLAG_THREE_CHAIN 0x007 - three chain mask - * FLAG_FOUR_CHAIN 0x00F - four chain mask - * FLAG_STBC 0x010 - STBC is set - * FLAG_40MHZ 0x020 - * FLAG_80MHZ 0x040 - * FLAG_160MHZ 0x080 - * FLAG_TXBF 0x0100 - Tx Bf enabled - * FLAG_RTSENA 0x0200 - RTS enabled - * FLAG_CTSENA 0x0400 - CTS enabled - * FLAG_LDPC 0x0800 - LDPC set - * FLAG_SERIES1 0x1000 - - * FLAG_SGI 0x2000 - Short gaurd interval - * FLAG_MU2 0x4000 - MU2 data - * FLAG_MU3 0x8000 - MU3 data + * FLAG_ONE_CHAIN 0x00000001 - one chain mask + * FLAG_TWO_CHAIN 0x00000003 - two chain mask + * FLAG_THREE_CHAIN 0x00000007 - three chain mask + * FLAG_FOUR_CHAIN 0x0000000F - four chain mask + * FLAG_FIVE_CHAIN 0x0000001F - five chain mask + * FLAG_SIX_CHAIN 0x0000003F - six chain mask + * FLAG_SEVEN_CHAIN 0x0000007F - seven chain mask + * FLAG_EIGHT_CHAIN 0x000000FF - eight chain mask + * FLAG_STBC 0x00000100 - STBC is set + * FLAG_40MHZ 0x00000200 + * FLAG_80MHZ 0x00000300 + * FLAG_160MHZ 0x00000400 + * FLAG_TXBF 0x00000800 - Tx Bf enabled + * FLAG_RTSENA 0x00001000 - RTS enabled + * FLAG_CTSENA 0x00002000 - CTS enabled + * FLAG_LDPC 0x00004000 - LDPC set + * FLAG_SGI 0x00008000 - Short gaurd interval + * (0x00010000-0x00080000 unused) + *------------------ + * 0x00100000-0x00700000 used for SU/MU/OFDMA tx mode + * FLAG_SU 0x00100000 - SU Data + * FLAG_DL_MU_MIMO_AC 0x00200000 - DL AC MU data + * FLAG_DL_MU_MIMO_AX 0x00300000 - DL AX MU data + * FLAG_DL_OFDMA 0x00400000 - DL OFDMA data + * FLAG_UL_OFDMA 0x00500000 - UL OFDMA data + * FLAG_UL_MU_MIMO 0x00600000 - UL MU data + *------------------ * */ A_UINT32 nss; /** - * NSS 0x0 - 0x3 + * NSS 0x0 - 0x7 * */ A_UINT32 preamble; /** @@ -17635,6 +17694,7 @@ typedef struct { * PREAM_CCK - 0x1 * PREAM_HT - 0x2 * PREAM_VHT - 0x3 + * PREAM_HE - 0x4 * */ A_UINT32 hw_rate; /** @@ -17658,7 +17718,7 @@ typedef struct { * CCK_2_SHORT_MBPS - 0x6 * * *** HW_HT / VHT_RATE *** - * MCS 0x0 - 0x9 + * MCS 0x0 - 0xb * */ } wmi_pdev_get_tpc_cmd_fixed_param; @@ -18368,6 +18428,32 @@ typedef struct { */ } wmi_scan_adaptive_dwell_config_fixed_param; +typedef struct { + A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_scan_dbs_duty_cycle_param_tlv */ + /** module_id **/ + A_UINT32 module_id; + /** number of dbs scans */ + A_UINT32 num_dbs_scans; + /** number of non-dbs scans */ + A_UINT32 num_non_dbs_scans; +} wmi_scan_dbs_duty_cycle_tlv_param; + +typedef struct { + A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_scan_dbs_duty_cycle_fixed_param */ + /* number of scan client dutycycle param elements */ + A_UINT32 num_clients; + /** pdev_id for identifying the MAC + * See macros starting with WMI_PDEV_ID_ for values. + * In non-DBDC case host should set it to 0 + */ + A_UINT32 pdev_id; +/** + * followed by TLV (tag length value) parameters array + * The TLV's are: + * wmi_scan_selection_duty_cycle_tlv_param[num_clients]; + */ +} wmi_scan_dbs_duty_cycle_fixed_param; + typedef enum { WMI_REG_EXT_FCC_MIDBAND = 0, WMI_REG_EXT_JAPAN_MIDBAND = 1, @@ -18977,6 +19063,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command) WMI_RETURN_STRING(WMI_VDEV_GET_TX_POWER_CMDID); WMI_RETURN_STRING(WMI_OFFCHAN_DATA_TX_SEND_CMDID); WMI_RETURN_STRING(WMI_SET_INIT_COUNTRY_CMDID); + WMI_RETURN_STRING(WMI_SET_SCAN_DBS_DUTY_CYCLE_CMDID); } return "Invalid WMI cmd"; diff --git a/CORE/SERVICES/COMMON/wmi_version.h b/CORE/SERVICES/COMMON/wmi_version.h index 6375e585c3e5..299f63c1984a 100644 --- a/CORE/SERVICES/COMMON/wmi_version.h +++ b/CORE/SERVICES/COMMON/wmi_version.h @@ -36,7 +36,7 @@ #define __WMI_VER_MINOR_ 0 /** WMI revision number has to be incremented when there is a * change that may or may not break compatibility. */ -#define __WMI_REVISION_ 374 +#define __WMI_REVISION_ 379 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work diff --git a/CORE/SERVICES/WMI/wmi_unified.c b/CORE/SERVICES/WMI/wmi_unified.c index a98982f19b10..9ae9f7282248 100644 --- a/CORE/SERVICES/WMI/wmi_unified.c +++ b/CORE/SERVICES/WMI/wmi_unified.c @@ -746,6 +746,8 @@ static u_int8_t* get_wmi_cmd_string(WMI_CMD_ID wmi_command) CASE_RETURN_STRING(WMI_VDEV_GET_TX_POWER_CMDID); CASE_RETURN_STRING(WMI_OFFCHAN_DATA_TX_SEND_CMDID); CASE_RETURN_STRING(WMI_SET_INIT_COUNTRY_CMDID); + CASE_RETURN_STRING(WMI_SET_SCAN_DBS_DUTY_CYCLE_CMDID); + CASE_RETURN_STRING(WMI_PDEV_DIV_GET_RSSI_ANTID_CMDID); } return "Invalid WMI cmd"; } |
