From 489bf8df6c05e9711aa18b5a654e271b33c95154 Mon Sep 17 00:00:00 2001 From: Krishna Kumaar Natarajan Date: Fri, 25 Mar 2016 14:30:11 -0700 Subject: [PATCH] qcacld-3.0: CL 1476830 - update fw common interface files qcacld-2.0 to qcacld-3.0 propagation. Add 11ax/HE fragmentation support flags and add flags to allow automatic and forced enabling of pktlog. Change-Id: Ic4bbaf71279ee6fef190530dd70a798be7267797 CRs-Fixed: 865207 --- target/inc/wlan_defs.h | 10 ++++++++++ target/inc/wmi_unified.h | 31 +++++++++++++++++++++++++++++-- target/inc/wmi_version.h | 2 +- 3 files changed, 40 insertions(+), 3 deletions(-) diff --git a/target/inc/wlan_defs.h b/target/inc/wlan_defs.h index f2e5caeae43e..fda5eb0e9b81 100644 --- a/target/inc/wlan_defs.h +++ b/target/inc/wlan_defs.h @@ -152,6 +152,16 @@ typedef enum { ((mode) == MODE_11AC_VHT80)) #endif +#define IS_MODE_HE(mode) (((mode) == MODE_11AX_HE20) || \ + ((mode) == MODE_11AX_HE40) || \ + ((mode) == MODE_11AX_HE80) || \ + ((mode) == MODE_11AX_HE80_80) || \ + ((mode) == MODE_11AX_HE160) || \ + ((mode) == MODE_11AX_HE20_2G) || \ + ((mode) == MODE_11AX_HE40_2G) || \ + ((mode) == MODE_11AX_HE80_2G)) + + #define IS_MODE_VHT_2G(mode) (((mode) == MODE_11AC_VHT20_2G) || \ ((mode) == MODE_11AC_VHT40_2G) || \ ((mode) == MODE_11AC_VHT80_2G)) diff --git a/target/inc/wmi_unified.h b/target/inc/wmi_unified.h index fdaf48158630..a77ef1360151 100644 --- a/target/inc/wmi_unified.h +++ b/target/inc/wmi_unified.h @@ -1562,6 +1562,23 @@ typedef enum { #define WMI_HE_CAP_TWT_REQUESTER_SUPPORT 0x00000004 #define WMI_HE_FRAG_SUPPORT_MASK 0x00000018 #define WMI_HE_FRAG_SUPPORT_SHIFT 3 + + +/* fragmentation support field value */ +enum { + WMI_HE_FRAG_SUPPORT_LEVEL0, /* No Fragmentation support */ + /* + * support for fragments within a VHT single MPDU, + * no support for fragments within AMPDU + */ + WMI_HE_FRAG_SUPPORT_LEVEL1, + /* support for up to 1 fragment per MSDU within a single A-MPDU */ + WMI_HE_FRAG_SUPPORT_LEVEL2, + /* support for multiple fragments per MSDU within an A-MPDU */ + WMI_HE_FRAG_SUPPORT_LEVEL3, +}; + + /** NOTE: This defs cannot be changed in the future without * breaking WMI compatibility */ @@ -1845,7 +1862,10 @@ typedef struct { /* 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 */ + /* + * see section 8.4.2.213 from draft r8 of 802.11ax; + * see WMI_HE_FRAG_SUPPORT enum + */ A_UINT32 he_cap_info; /* * An HT STA shall not allow transmission of more than one MPDU start @@ -3901,6 +3921,12 @@ typedef enum { WMI_PKTLOG_EVENT_SMART_ANTENNA = 0x20, /* To support Smart Antenna */ } WMI_PKTLOG_EVENT; +typedef enum { + /* (default) FW will decide under what conditions to enable pktlog */ + WMI_PKTLOG_ENABLE_AUTO = 0, + WMI_PKTLOG_ENABLE_FORCE = 1, /* pktlog unconditionally enabled */ +} WMI_PKTLOG_ENABLE; + typedef struct { /** TLV tag and len; tag equals * WMITLV_TAG_STRUC_wmi_pdev_pktlog_enable_cmd_fixed_param @@ -3910,7 +3936,8 @@ typedef struct { * See macros starting with WMI_PDEV_ID_ for values. */ A_UINT32 pdev_id; - WMI_PKTLOG_EVENT evlist; + A_UINT32 evlist; /* WMI_PKTLOG_EVENT */ + A_UINT32 enable; /* WMI_PKTLOG_ENABLE */ } wmi_pdev_pktlog_enable_cmd_fixed_param; typedef struct { diff --git a/target/inc/wmi_version.h b/target/inc/wmi_version.h index 5bb44389b9aa..11764c171451 100644 --- a/target/inc/wmi_version.h +++ b/target/inc/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_ 223 +#define __WMI_REVISION_ 225 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work