qcacld-3.0: CL 1457903 update fw common interface files
WMI changes for introducing 11ax capabilities add new dbglog IDs for scan events Change-Id: Ie9d30e397ae7bfe84619acab4c42bc8739b19a99 CRs-Fixed: 865207
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2013-2015 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2013-2016 The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
||||
*
|
||||
@@ -580,7 +580,42 @@ extern "C" {
|
||||
#define SCAN_FWLOG_EVENT_RESTARTED 10
|
||||
#define SCAN_FWLOG_EVENT_COMPLETED 11
|
||||
#define SCAN_SM_REQ_NEXT_CH 12
|
||||
#define SCAN_DBGID_DEFINITION_END 13
|
||||
#define SCAN_ENG_START 13
|
||||
#define SCAN_ENG_CANCEL 14
|
||||
#define SCAN_ENG_SPOOFED_MAC_ADDR 15
|
||||
#define SCAN_ENG_PARAM_1 16
|
||||
#define SCAN_ENG_PARAM_2 17
|
||||
#define SCAN_ENG_MAX_SCAN_TIMEOUT 18
|
||||
#define SCAN_ENG_START_IN_PROGRESS 19
|
||||
#define SCAN_SM_START_COMMAND_FAILED 20
|
||||
#define SCAN_SCH_START 21
|
||||
#define SCAN_SCH_START_INFO 22
|
||||
#define SCAN_SCH_START_NEW_REQ_FAILED 23
|
||||
#define SCAN_SCH_START_ALLOC_FAIL 24
|
||||
#define SCAN_SCH_ENGINE_STOP_DUE_TO_TIMEOUT 25
|
||||
#define SCAN_SCH_POLICY_EVENT 26
|
||||
#define SCAN_SCH_CANCEL 27
|
||||
#define SCAN_SCH_STOP_COMMAND_FAILED 28
|
||||
#define SCAN_SCH_NEXT_SCAN_FAILED 29
|
||||
#define SCAN_WMI_SET_CHAN_LIST 30
|
||||
#define SCAN_EVENT_STARTED 31
|
||||
#define SCAN_EVENT_BSS_CHANNEL 32
|
||||
#define SCAN_EVENT_FOREIGN_CHANNEL 33
|
||||
#define SCAN_EVENT_DEQUEUED 34
|
||||
#define SCAN_EVENT_START_FAILED 35
|
||||
#define SCAN_EVENT_FOREIGN_CHANNEL_EXIT 36
|
||||
#define SCAN_SM_DISPATCH 37
|
||||
#define SCAN_SM_TRANSITIONS 38
|
||||
#define SCAN_SM_REQ_NEXT_CHAN 39
|
||||
#define SCAN_SEND_PROBE_REQ_RET_VDEV 40
|
||||
#define SCAN_SEND_PROBE_REQ_RET_PLM 41
|
||||
#define SCAN_SEND_PROBE_REQ_RET_PASSIVE 42
|
||||
#define SCAN_SEND_PROBE_REQ_RET_RADAR 43
|
||||
#define SCAN_SEND_PROBE_REQ_RET_DFS 44
|
||||
#define SCAN_SEND_PROBE_REQ_INFO 45
|
||||
#define SCAN_SM_CANCEL 46
|
||||
#define SCAN_SM_PROBE_REQ_FRAME_SEND_FAILED 47
|
||||
#define SCAN_DBGID_DEFINITION_END 48
|
||||
|
||||
#define BEACON_EVENT_SWBA_SEND_FAILED 0
|
||||
#define BEACON_EVENT_EARLY_RX_BMISS_STATUS 1
|
||||
@@ -1531,6 +1566,7 @@ extern "C" {
|
||||
#define EXTSCAN_NOTIFY_HOTLIST_MATCH 38
|
||||
#define EXTSCAN_CONFIG_HOTLIST_TABLE 39
|
||||
#define EXTSCAN_CONFIG_WLAN_CHANGE_TABLE 40
|
||||
#define EXTSCAN_EVENT_SEND_FAILED 41
|
||||
|
||||
/* NLO DBGIDs */
|
||||
#define NLO_DBGID_SSID_TO_BE_SCANNED_LIST 0
|
||||
|
@@ -55,6 +55,10 @@
|
||||
#define CONFIG_160MHZ_SUPPORT 0
|
||||
#endif
|
||||
|
||||
#ifndef SUPPORT_11AX
|
||||
#define SUPPORT_11AX 0 /* 11ax not supported by default */
|
||||
#endif
|
||||
|
||||
typedef enum {
|
||||
MODE_11A = 0, /* 11a Mode */
|
||||
MODE_11G = 1, /* 11b/g Mode */
|
||||
@@ -75,9 +79,29 @@ typedef enum {
|
||||
MODE_11AC_VHT160 = 15,
|
||||
#endif
|
||||
|
||||
#if SUPPORT_11AX
|
||||
MODE_11AX_HE20 = 16,
|
||||
MODE_11AX_HE40 = 17,
|
||||
MODE_11AX_HE80 = 18,
|
||||
MODE_11AX_HE80_80 = 19,
|
||||
MODE_11AX_HE160 = 20,
|
||||
MODE_11AX_HE20_2G = 21,
|
||||
MODE_11AX_HE40_2G = 22,
|
||||
MODE_11AX_HE80_2G = 23,
|
||||
#endif
|
||||
|
||||
/*
|
||||
* MODE_UNKNOWN should not be used within the host / target interface.
|
||||
* Thus, it is permissible for ODE_UNKNOWN to be conditionally-defined,
|
||||
* taking different values when compiling for different targets.
|
||||
*/
|
||||
|
||||
MODE_UNKNOWN,
|
||||
MODE_UNKNOWN_NO_160MHZ_SUPPORT = 14,
|
||||
MODE_UNKNOWN_160MHZ_SUPPORT = 16,
|
||||
MODE_UNKNOWN_NO_160MHZ_SUPPORT = 14, /* not needed? */
|
||||
/* MODE_UNKNOWN_NO_11AX_SUPPORT = 16,*/ /* not needed? */
|
||||
/* MODE_UNKNOWN_11AX_SUPPORT = 24,*/ /* not needed? */
|
||||
MODE_UNKNOWN_160MHZ_SUPPORT = MODE_UNKNOWN, /* not needed? */
|
||||
|
||||
MODE_MAX = MODE_UNKNOWN,
|
||||
MODE_MAX_NO_160_MHZ_SUPPORT = MODE_UNKNOWN_NO_160MHZ_SUPPORT,
|
||||
MODE_MAX_160_MHZ_SUPPORT = MODE_UNKNOWN_160MHZ_SUPPORT,
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2004-2010, 2013-2014 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2004-2010, 2013-2014, 2016 The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
|
||||
*
|
||||
@@ -151,6 +151,7 @@ typedef enum {
|
||||
WMI_11NG_CAPABILITY = 5,
|
||||
WMI_11NAG_CAPABILITY = 6,
|
||||
WMI_11AC_CAPABILITY = 7,
|
||||
WMI_11AX_CAPABILITY = 8,
|
||||
/* END CAPABILITY */
|
||||
WMI_11N_CAPABILITY_OFFSET =
|
||||
(WMI_11NA_CAPABILITY - WMI_11A_CAPABILITY),
|
||||
|
@@ -147,6 +147,7 @@ typedef enum {
|
||||
WMI_SERVICE_RATECTRL_LIMIT_MAX_MIN_RATES,
|
||||
WMI_SERVICE_NAN_DATA, /* FW supports NAN data */
|
||||
WMI_SERVICE_NAN_RTT, /* FW supports NAN RTT */
|
||||
WMI_SERVICE_11AX, /* FW supports 802.11ax */
|
||||
|
||||
WMI_MAX_SERVICE = 128 /* max service */
|
||||
} WMI_SERVICE;
|
||||
|
@@ -1528,6 +1528,64 @@ typedef enum {
|
||||
#define WMI_VHT_MAX_SUPP_RATE_MASK 0x1fff0000
|
||||
#define WMI_VHT_MAX_SUPP_RATE_MASK_SHIFT 16
|
||||
|
||||
/** 11ax capabilities */
|
||||
#define WMI_HE_CAP_PPE_PRESENT 0x00000001
|
||||
#define WMI_HE_CAP_TWT_RESPONDER_SUPPORT 0x00000002
|
||||
#define WMI_HE_CAP_TWT_REQUESTER_SUPPORT 0x00000004
|
||||
#define WMI_HE_FRAG_SUPPORT_MASK 0x00000018
|
||||
#define WMI_HE_FRAG_SUPPORT_SHIFT 3
|
||||
/** NOTE: This defs cannot be changed in the future without
|
||||
* breaking WMI compatibility
|
||||
*/
|
||||
#define WMI_MAX_NUM_SS 8
|
||||
#define WMI_MAX_NUM_RU 4
|
||||
|
||||
/*
|
||||
* Figure 8 554ae: -PPE Threshold Info field format
|
||||
* we pack PPET16 and PPT8 for four RU's in one element of array.
|
||||
*
|
||||
* ppet16_ppet8_ru3_ru0 array element 0 holds:
|
||||
* | PPET16 | PPET8 | PPET16 | PPET8 | PPET16 | PPET8 | PPET16 | PPET8 |
|
||||
*rsvd |NSS1,RU4|NSS1,RU4|NSS1,RU3|NSS1,RU3|NSS1,RU2|NSS1,RU2|NSS1,RU1|NSS1,RU1|
|
||||
*31:23| 22:20 | 19:17 | 17:15 | 14:12 | 11:9 | 8:6 | 5:3 | 2:0 |
|
||||
*
|
||||
* ppet16_ppet8_ru3_ru0 array element 1 holds:
|
||||
* | PPET16 | PPET8 | PPET16 | PPET8 | PPET16 | PPET8 | PPET16 | PPET8 |
|
||||
*rsvd |NSS2,RU4|NSS2,RU4|NSS2,RU3|NSS2,RU3|NSS2,RU2|NSS2,RU2|NSS2,RU1|NSS2,RU1|
|
||||
*31:23| 22:20 | 19:17 | 17:15 | 14:12 | 11:9 | 8:6 | 5:3 | 2:0 |
|
||||
*
|
||||
* etc.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Note that in these macros, "ru" is one-based, not zero-based, while
|
||||
* nssm1 is zero-based.
|
||||
*/
|
||||
#define WMI_SET_PPET8(ppet16_ppet8_ru3_ru0, ppet, ru, nssm1) \
|
||||
do { \
|
||||
ppet16_ppet8_ru3_ru0[nssm1] &= ~(7 << (((ru-1)%4)*6)); \
|
||||
ppet16_ppet8_ru3_ru0[nssm1] |= ((ppet&7) << (((ru-1)%4)*6)); \
|
||||
} while (0)
|
||||
|
||||
#define WMI_GET_PPET8(ppet16_ppet8_ru3_ru0, ru, nssm1) \
|
||||
((ppet16_ppet8_ru3_ru0[nssm1] >> (((ru-1)%4)*6))&7)
|
||||
|
||||
#define WMI_SET_PPET16(ppet16_ppet8_ru3_ru0, ppet, ru, nssm1) \
|
||||
do { \
|
||||
ppet16_ppet8_ru3_ru0[nssm1] &= ~(7 << (((ru-1)%4)*6+3)); \
|
||||
ppet16_ppet8_ru3_ru0[nssm1] |= ((ppet&7) << (((ru-1)%4)*6+3)); \
|
||||
} while (0)
|
||||
|
||||
#define WMI_GET_PPET16(ppet16_ppet8_ru3_ru0, ru, nssm1) \
|
||||
((ppet16_ppet8_ru3_ru0[nssm1] >> (((ru-1)%4)*6+3))&7)
|
||||
|
||||
typedef struct _wmi_ppe_threshold {
|
||||
A_UINT32 numss_m1; /** NSS - 1*/
|
||||
A_UINT32 ru_count; /** Max RU count */
|
||||
/** ppet8 and ppet16 for max num ss */
|
||||
A_UINT32 ppet16_ppet8_ru3_ru0[WMI_MAX_NUM_SS];
|
||||
} wmi_ppe_threshold;
|
||||
|
||||
/* WMI_SYS_CAPS_* refer to the capabilities that system support
|
||||
*/
|
||||
#define WMI_SYS_CAP_ENABLE 0x00000001
|
||||
@@ -1749,6 +1807,9 @@ typedef struct {
|
||||
A_UINT32 default_conc_scan_config_bits;
|
||||
/* which WMI_DBS_FW_MODE_CFG setting the FW is initialized with */
|
||||
A_UINT32 default_fw_config_bits;
|
||||
wmi_ppe_threshold ppet;
|
||||
/* see section 8.4.2.213 from draft r8 of 802.11ax */
|
||||
A_UINT32 he_cap_info;
|
||||
} wmi_service_ready_ext_event_fixed_param;
|
||||
|
||||
typedef enum {
|
||||
@@ -6355,6 +6416,11 @@ typedef struct {
|
||||
* set to 0 by host
|
||||
*/
|
||||
A_UINT32 peer_bw_rxnss_override;
|
||||
/* 802.11ax capabilities */
|
||||
wmi_ppe_threshold peer_ppet;
|
||||
/* protocol-defined HE / 11ax capability flags */
|
||||
A_UINT32 peer_he_cap_info;
|
||||
A_UINT32 peer_he_ops; /* HE operation contains BSS color */
|
||||
/* Following this struc are the TLV's:
|
||||
* A_UINT8 peer_legacy_rates[];
|
||||
* A_UINT8 peer_ht_rates[];
|
||||
|
@@ -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_ 207
|
||||
#define __WMI_REVISION_ 208
|
||||
|
||||
/** The Version Namespace should not be normally changed. Only
|
||||
* host and firmware of the same WMI namespace will work
|
||||
|
Reference in New Issue
Block a user