summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHimanshu Agarwal <himanaga@qti.qualcomm.com>2016-06-03 12:30:34 +0530
committerAnjaneedevi Kapparapu <akappa@codeaurora.org>2016-06-07 16:32:56 +0530
commitbca490a8ad4f706584c97c1f03306b7ccdc40390 (patch)
treeec70af5c4c603a6db2220096f9bf2f35dd92a20f
parent430dcb9efd7e8aa386e4fd4a5d13ba6bfcc22577 (diff)
qcacld-2.0: CL 1521398 – update fw common interface files
WMI changes for 11AX related BSS parameters Extend the WoW wake event bitmap Change-Id: I68367a8d688cdc9f85efe01a7c48856c8bab7220 CRs-Fixed: 865207
-rw-r--r--CORE/SERVICES/COMMON/wmi_unified.h75
-rw-r--r--CORE/SERVICES/COMMON/wmi_version.h2
2 files changed, 68 insertions, 9 deletions
diff --git a/CORE/SERVICES/COMMON/wmi_unified.h b/CORE/SERVICES/COMMON/wmi_unified.h
index 65e1bc4a0a62..96d3a4ca2aaf 100644
--- a/CORE/SERVICES/COMMON/wmi_unified.h
+++ b/CORE/SERVICES/COMMON/wmi_unified.h
@@ -1398,6 +1398,7 @@ WMI_CHANNEL_CHANGE_CAUSE_CSA,
#define WMI_CHAN_FLAG_HALF_RATE 14 /* Indicates half rate channel */
#define WMI_CHAN_FLAG_QUARTER_RATE 15 /* Indicates quarter rate channel */
#define WMI_CHAN_FLAG_DFS_CFREQ2 16 /* Enable radar event reporting for sec80 in VHT80p80 */
+#define WMI_CHAN_FLAG_ALLOW_HE 17 /* HE (11ax) is allowed on this channel */
#define WMI_SET_CHANNEL_FLAG(pwmi_channel,flag) do { \
(pwmi_channel)->info |= (1 << flag); \
@@ -1568,12 +1569,12 @@ enum {
* 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 |
+ * | PPET8 | PPET16 | PPET8 | PPET16 | PPET8 | PPET16 | PPET8 | PPET16 |
*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 |
+ * | PPET8 | PPET16 | PPET8 | PPET16 | PPET8 | PPET16 | PPET8 | PPET16 |
*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 |
*
@@ -1584,22 +1585,22 @@ enum {
* 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) \
+#define WMI_SET_PPET16(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) \
+#define WMI_GET_PPET16(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) \
+#define WMI_SET_PPET8(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) \
+#define WMI_GET_PPET8(ppet16_ppet8_ru3_ru0, ru, nssm1) \
((ppet16_ppet8_ru3_ru0[nssm1] >> (((ru-1)%4)*6+3))&7)
typedef struct _wmi_ppe_threshold {
@@ -5285,6 +5286,46 @@ typedef enum {
/* vdev-specific mgmt tx power in dBm units (signed integer value) */
WMI_VDEV_PARAM_MGMT_TX_POWER,
+
+ /*
+ * === ADD NEW VDEV PARAM TYPES ABOVE THIS LINE ===
+ * The below vdev param types are used for prototyping, and are
+ * prone to change.
+ */
+ WMI_VDEV_PARAM_PROTOTYPE = 0x8000,
+ /* 11AX SPECIFIC defines */
+ WMI_VDEV_PARAM_BSS_COLOR,
+ /* In case of AP this will enable / disable MU-MIMO mode */
+ WMI_VDEV_PARAM_SET_UL_MU_MIMO,
+ /*
+ * set fragmentation level of the vdev's peers.
+ * Values can be WMI_HE_FRAG_SUPPORT_LEVEL0..WMI_HE_FRAG_SUPPORT_LEVEL3
+ */
+ WMI_VDEV_PARAM_SET_FRAG_LEVEL,
+ /*
+ * control different features of HEControl:
+ * Bit 0:- 1/0-> Enable/Disable transmssion of UL scheduling.
+ * Bit 1:- 1/0-> Enable / disable honoring of ROMI from a peer.
+ * Applicable in AP mode only.
+ */
+ WMI_VDEV_PARAM_SET_HECONTROL,
+ /*
+ * enable / disable trigger access for a AP vdev's peers.
+ * For a STA mode vdev this will enable/disable triggered access
+ * and enable/disable Multi User mode of operation.
+ */
+ WMI_VDEV_PARAM_SET_HEMU_MODE,
+ /*
+ * For Tx OFDMA this will set values of CP length or guard interval
+ * to be
+ * 0: Auto
+ * 1: 0.8 us
+ * 2: 1.6 us
+ * 3: 3.2 us
+ * Similar to Guard Interval
+ */
+ WMI_VDEV_PARAM_TX_OFDMA_CPLEN,
+ /*=== END VDEV_PARAM_PROTOTYPE SECTION ===*/
} WMI_VDEV_PARAM;
/* vdev capabilities bit mask */
@@ -8094,11 +8135,16 @@ typedef struct {
A_UINT32 pattern_type;
}WMI_WOW_DEL_PATTERN_CMD_fixed_param;
+#define WMI_WOW_MAX_EVENT_BM_LEN 4
+
typedef struct {
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_WMI_WOW_ADD_DEL_EVT_CMD_fixed_param */
A_UINT32 vdev_id;
A_UINT32 is_add;
- A_UINT32 event_bitmap;
+ union {
+ A_UINT32 event_bitmap;
+ A_UINT32 event_bitmaps[WMI_WOW_MAX_EVENT_BM_LEN];
+ };
}WMI_WOW_ADD_DEL_EVT_CMD_fixed_param;
/*
@@ -9317,6 +9363,11 @@ enum wmm_ac_downgrade_policy {
WMM_AC_DOWNGRADE_INVALID,
};
+/* WMM EDCA Params type */
+#define WMM_PARAM_TYPE_LEGACY 0
+/* Relaxed EDCA parameters for 11ax to be used in case of triggered access */
+#define WMM_PARAM_TYPE_11AX_EDCA 1
+
typedef struct {
A_UINT32 tlv_header;
A_UINT32 cwmin;
@@ -9331,6 +9382,7 @@ typedef struct {
A_UINT32 tlv_header;
A_UINT32 vdev_id;
wmi_wmm_vparams wmm_params[4]; /* 0 be, 1 bk, 2 vi, 3 vo */
+ A_UINT32 wmm_param_type; /* see WMM_PARAM_TYPE_xxx defs */
} wmi_vdev_set_wmm_params_cmd_fixed_param;
typedef struct {
@@ -13853,7 +13905,7 @@ typedef struct {
} wmi_roam_configure_mawc_cmd_fixed_param;
#define WMI_PACKET_FILTER_COMPARE_DATA_LEN_DWORD 2
-#define WMI_PACKET_FILTER_MAX_CMP_PER_PACKET_FILTER 10
+#define WMI_PACKET_FILTER_MAX_CMP_PER_PACKET_FILTER 5
typedef enum {
PACKET_FILTER_TYPE_INVALID = 0,
@@ -13921,6 +13973,13 @@ typedef struct {
A_UINT32 coalesce_time; // not currently used - fill with 0x0
WMI_PACKET_FILTER_PARAMS_TYPE paramsData[
WMI_PACKET_FILTER_MAX_CMP_PER_PACKET_FILTER];
+ /*
+ * deprecated0:
+ * This field simply provides filler space to retain the original message
+ * format while reducing WMI_PACKET_FILTER_MAX_CMP_PER_PACKET_FILTER
+ * from 10 to 5.
+ */
+ WMI_PACKET_FILTER_PARAMS_TYPE deprecated0[5];
} WMI_PACKET_FILTER_CONFIG_CMD_fixed_param;
/* enable / disable all filters within the specified vdev */
diff --git a/CORE/SERVICES/COMMON/wmi_version.h b/CORE/SERVICES/COMMON/wmi_version.h
index 489dd09e90fd..7aa3e29b79d1 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_ 256
+#define __WMI_REVISION_ 258
/** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work