summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHimanshu Agarwal <himanaga@qti.qualcomm.com>2016-05-13 12:36:07 +0530
committerAnjaneedevi Kapparapu <akappa@codeaurora.org>2016-05-18 17:49:07 +0530
commit3b67e97e33e9f45aee97021c1de5db11307960bc (patch)
treee1e575d979d941e1f82e4262788263cd5af9a1ac
parent955ae4306698371ea2ebc038619286b6f36e881a (diff)
qcacld-2.0: CL 1509574 – update fw common interface files
Vdev level rx filter of from-ds / to-ds / no-ds / ta / ra frames. Change-Id: I63ee1aeb2eba793e3a06c2632f43ea044ba33422 CRs-Fixed: 865207
-rw-r--r--CORE/SERVICES/COMMON/wmi_services.h1
-rw-r--r--CORE/SERVICES/COMMON/wmi_unified.h126
-rw-r--r--CORE/SERVICES/COMMON/wmi_version.h2
3 files changed, 74 insertions, 55 deletions
diff --git a/CORE/SERVICES/COMMON/wmi_services.h b/CORE/SERVICES/COMMON/wmi_services.h
index 87398e039489..102c0210972e 100644
--- a/CORE/SERVICES/COMMON/wmi_services.h
+++ b/CORE/SERVICES/COMMON/wmi_services.h
@@ -159,6 +159,7 @@ typedef enum {
WMI_SERVICE_PERIODIC_CHAN_STAT_SUPPORT, /* periodic channel stats service */
WMI_SERVICE_MESH_11S,
WMI_SERVICE_HALF_RATE_QUARTER_RATE_SUPPORT, /* FW+HW supports 10 MHz (half rate) and 5 MHz (quarter rate) channel bandwidth */
+ WMI_SERVICE_VDEV_RX_FILTER, /* Support per-vdev specs of which rx frames to filter out */
WMI_MAX_SERVICE=128 /* max service */
} WMI_SERVICE;
diff --git a/CORE/SERVICES/COMMON/wmi_unified.h b/CORE/SERVICES/COMMON/wmi_unified.h
index 7a05132f80fe..1cb14dc6bad2 100644
--- a/CORE/SERVICES/COMMON/wmi_unified.h
+++ b/CORE/SERVICES/COMMON/wmi_unified.h
@@ -181,60 +181,60 @@ typedef struct {
typedef enum {
/* 0 to 2 are reserved */
WMI_GRP_START=0x3,
- WMI_GRP_SCAN=WMI_GRP_START,
- WMI_GRP_PDEV,
- WMI_GRP_VDEV,
- WMI_GRP_PEER,
- WMI_GRP_MGMT,
- WMI_GRP_BA_NEG,
- WMI_GRP_STA_PS,
- WMI_GRP_DFS,
- WMI_GRP_ROAM,
- WMI_GRP_OFL_SCAN,
- WMI_GRP_P2P,
- WMI_GRP_AP_PS,
- WMI_GRP_RATE_CTRL,
- WMI_GRP_PROFILE,
- WMI_GRP_SUSPEND,
- WMI_GRP_BCN_FILTER,
- WMI_GRP_WOW,
- WMI_GRP_RTT,
- WMI_GRP_SPECTRAL,
- WMI_GRP_STATS,
- WMI_GRP_ARP_NS_OFL,
- WMI_GRP_NLO_OFL,
- WMI_GRP_GTK_OFL,
- WMI_GRP_CSA_OFL,
- WMI_GRP_CHATTER,
- WMI_GRP_TID_ADDBA,
- WMI_GRP_MISC,
- WMI_GRP_GPIO,
- WMI_GRP_FWTEST,
- WMI_GRP_TDLS,
- WMI_GRP_RESMGR,
- WMI_GRP_STA_SMPS,
- WMI_GRP_WLAN_HB,
- WMI_GRP_RMC,
- WMI_GRP_MHF_OFL,
- WMI_GRP_LOCATION_SCAN,
- WMI_GRP_OEM,
- WMI_GRP_NAN,
- WMI_GRP_COEX,
- WMI_GRP_OBSS_OFL,
- WMI_GRP_LPI,
- WMI_GRP_EXTSCAN,
- WMI_GRP_DHCP_OFL,
- WMI_GRP_IPA,
- WMI_GRP_MDNS_OFL,
- WMI_GRP_SAP_OFL,
- WMI_GRP_OCB,
- WMI_GRP_SOC,
- WMI_GRP_PKT_FILTER,
- WMI_GRP_MAWC,
- WMI_GRP_PMF_OFFLOAD,
- WMI_GRP_BPF_OFFLOAD, /* Berkeley Packet Filter */
- WMI_GRP_NAN_DATA,
- WMI_GRP_PROTOTYPE,
+ WMI_GRP_SCAN=WMI_GRP_START, /* 0x3 */
+ WMI_GRP_PDEV, /* 0x4 */
+ WMI_GRP_VDEV, /* 0x5 */
+ WMI_GRP_PEER, /* 0x6 */
+ WMI_GRP_MGMT, /* 0x7 */
+ WMI_GRP_BA_NEG, /* 0x8 */
+ WMI_GRP_STA_PS, /* 0x9 */
+ WMI_GRP_DFS, /* 0xa */
+ WMI_GRP_ROAM, /* 0xb */
+ WMI_GRP_OFL_SCAN, /* 0xc */
+ WMI_GRP_P2P, /* 0xd */
+ WMI_GRP_AP_PS, /* 0xe */
+ WMI_GRP_RATE_CTRL, /* 0xf */
+ WMI_GRP_PROFILE, /* 0x10 */
+ WMI_GRP_SUSPEND, /* 0x11 */
+ WMI_GRP_BCN_FILTER, /* 0x12 */
+ WMI_GRP_WOW, /* 0x13 */
+ WMI_GRP_RTT, /* 0x14 */
+ WMI_GRP_SPECTRAL, /* 0x15 */
+ WMI_GRP_STATS, /* 0x16 */
+ WMI_GRP_ARP_NS_OFL, /* 0x17 */
+ WMI_GRP_NLO_OFL, /* 0x18 */
+ WMI_GRP_GTK_OFL, /* 0x19 */
+ WMI_GRP_CSA_OFL, /* 0x1a */
+ WMI_GRP_CHATTER, /* 0x1b */
+ WMI_GRP_TID_ADDBA, /* 0x1c */
+ WMI_GRP_MISC, /* 0x1d */
+ WMI_GRP_GPIO, /* 0x1e */
+ WMI_GRP_FWTEST, /* 0x1f */
+ WMI_GRP_TDLS, /* 0x20 */
+ WMI_GRP_RESMGR, /* 0x21 */
+ WMI_GRP_STA_SMPS, /* 0x22 */
+ WMI_GRP_WLAN_HB, /* 0x23 */
+ WMI_GRP_RMC, /* 0x24 */
+ WMI_GRP_MHF_OFL, /* 0x25 */
+ WMI_GRP_LOCATION_SCAN, /* 0x26 */
+ WMI_GRP_OEM, /* 0x27 */
+ WMI_GRP_NAN, /* 0x28 */
+ WMI_GRP_COEX, /* 0x29 */
+ WMI_GRP_OBSS_OFL, /* 0x2a */
+ WMI_GRP_LPI, /* 0x2b */
+ WMI_GRP_EXTSCAN, /* 0x2c */
+ WMI_GRP_DHCP_OFL, /* 0x2d */
+ WMI_GRP_IPA, /* 0x2e */
+ WMI_GRP_MDNS_OFL, /* 0x2f */
+ WMI_GRP_SAP_OFL, /* 0x30 */
+ WMI_GRP_OCB, /* 0x31 */
+ WMI_GRP_SOC, /* 0x32 */
+ WMI_GRP_PKT_FILTER, /* 0x33 */
+ WMI_GRP_MAWC, /* 0x34 */
+ WMI_GRP_PMF_OFFLOAD, /* 0x35 */
+ WMI_GRP_BPF_OFFLOAD, /* 0x36 Berkeley Packet Filter */
+ WMI_GRP_NAN_DATA, /* 0x37 */
+ WMI_GRP_PROTOTYPE, /* 0x38 */
} WMI_GRP_ID;
#define WMI_CMD_GRP_START_ID(grp_id) (((grp_id) << 12) | 0x1)
@@ -5215,6 +5215,14 @@ typedef enum {
* that AC; a value of 1 enables A-MPDU aggregation
*/
WMI_VDEV_PARAM_AMPDU_PER_AC,
+
+ /*
+ * Vdev level rx filter of from-ds / to-ds / no-ds / ta / ra frames.
+ * Used mainly for mesh-vap.
+ * The parameter value delivered with the RX_FILTER vdev param contains
+ * a bit-or mask of wmi_vdev_param_filter enum values.
+ */
+ WMI_VDEV_PARAM_RX_FILTER,
} WMI_VDEV_PARAM;
/* vdev capabilities bit mask */
@@ -5274,6 +5282,16 @@ typedef struct {
A_UINT32 txbf_cap;
} wmi_vdev_txbf_cap;
+/* vdev rx filters (for mesh) */
+typedef enum {
+ WMI_VDEV_RX_ALLOW_ALL_FRAMES = 0x0, /* Don't drop any frames - Default */
+ WMI_VDEV_RX_FILTER_OUT_FROMDS = 0x1, /* Drop FromDS frames */
+ WMI_VDEV_RX_FILTER_OUT_TODS = 0x2, /* Drop ToDS frames */
+ WMI_VDEV_RX_FILTER_OUT_NODS = 0x4, /* Drop NODS frames */
+ WMI_VDEV_RX_FILTER_OUT_RA = 0x8, /* Drop RA frames */
+ WMI_VDEV_RX_FILTER_OUT_TA = 0x10, /* Drop TA frames */
+} wmi_vdev_param_filter;
+
/* Length of ATIM Window in TU */
#define WMI_VDEV_PARAM_ATIM_WINDOW_LENGTH WMI_VDEV_PARAM_ATIM_WINDOW
diff --git a/CORE/SERVICES/COMMON/wmi_version.h b/CORE/SERVICES/COMMON/wmi_version.h
index 775062f56eed..d73d10a8af48 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_ 247
+#define __WMI_REVISION_ 248
/** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work