summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKrishna Kumaar Natarajan <kknatara@qca.qualcomm.com>2014-09-22 15:14:42 -0700
committerAnjaneeDevi Kapparapu <c_akappa@qti.qualcomm.com>2014-09-25 17:32:50 +0530
commitc035827c63d89ebdeaede68f8bea41e981841b3c (patch)
treefa8edc0437f7d4ce81637a2273487e0e98e6dd5f
parentd3507367ab3d62563e91e832f7447f1ef5bc40bc (diff)
qcacld: CL 1091405 - update fw common interface files
This change set update the fw common interface files associated with the CL 1091405 Change-Id: If6928437e4de5193db790db5746b116802c41e6f CRs-Fixed: 729810
-rw-r--r--CORE/SERVICES/COMMON/wmi_services.h1
-rw-r--r--CORE/SERVICES/COMMON/wmi_tlv_defs.h11
-rw-r--r--CORE/SERVICES/COMMON/wmi_unified.h33
-rw-r--r--CORE/SERVICES/COMMON/wmi_version.h2
-rw-r--r--CORE/SERVICES/WMI/wmi_unified.c1
5 files changed, 45 insertions, 3 deletions
diff --git a/CORE/SERVICES/COMMON/wmi_services.h b/CORE/SERVICES/COMMON/wmi_services.h
index 516200db23e5..c3041810bcc6 100644
--- a/CORE/SERVICES/COMMON/wmi_services.h
+++ b/CORE/SERVICES/COMMON/wmi_services.h
@@ -112,6 +112,7 @@ typedef enum {
WMI_SERVICE_ROAM_HO_OFFLOAD, /* roam handover offload */
WMI_SERVICE_RX_FULL_REORDER, /* target-based Rx full reorder */
WMI_SERVICE_DHCP_OFFLOAD, /* DHCP offload support */
+ WMI_SERVICE_STA_RX_IPA_OFFLOAD_SUPPORT, /* STA RX DATA offload to IPA support */
WMI_MAX_SERVICE=128 /* max service */
} WMI_SERVICE;
diff --git a/CORE/SERVICES/COMMON/wmi_tlv_defs.h b/CORE/SERVICES/COMMON/wmi_tlv_defs.h
index edc2377e87a3..d10e73019f5d 100644
--- a/CORE/SERVICES/COMMON/wmi_tlv_defs.h
+++ b/CORE/SERVICES/COMMON/wmi_tlv_defs.h
@@ -508,7 +508,8 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_set_dhcp_server_offload_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_tpc_chainmask_config_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_ric_tspec,
- WMITLV_TAG_STRUC_wmi_tpc_chainmask_config
+ WMITLV_TAG_STRUC_wmi_tpc_chainmask_config,
+ WMITLV_TAG_STRUCT_wmi_ipa_offload_enable_disable_cmd_fixed_param
} WMITLV_TAG_ID;
/*
@@ -696,7 +697,8 @@ typedef enum {
OP(WMI_EXTWOW_SET_APP_TYPE2_PARAMS_CMDID) \
OP(WMI_ROAM_SET_RIC_REQUEST_CMDID) \
OP(WMI_PDEV_GET_TEMPERATURE_CMDID) \
- OP(WMI_SET_DHCP_SERVER_OFFLOAD_CMDID)
+ OP(WMI_SET_DHCP_SERVER_OFFLOAD_CMDID) \
+ OP(WMI_IPA_OFFLOAD_ENABLE_DISABLE_CMDID)
@@ -1926,6 +1928,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_GET_TEMPERATURE_CMDID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_set_dhcp_server_offload_cmd_fixed_param, wmi_set_dhcp_server_offload_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_SET_DHCP_SERVER_OFFLOAD_CMDID);
+/* IPA Offload Enable Disable Cmd */
+#define WMITLV_TABLE_WMI_IPA_OFFLOAD_ENABLE_DISABLE_CMDID(id,op,buf,len) \
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUCT_wmi_ipa_offload_enable_disable_cmd_fixed_param, wmi_ipa_offload_enable_disable_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
+WMITLV_CREATE_PARAM_STRUC(WMI_IPA_OFFLOAD_ENABLE_DISABLE_CMDID);
+
/************************** TLV definitions of WMI events *******************************/
/* Service Ready event */
diff --git a/CORE/SERVICES/COMMON/wmi_unified.h b/CORE/SERVICES/COMMON/wmi_unified.h
index 00a6422ba66d..67467e7b198f 100644
--- a/CORE/SERVICES/COMMON/wmi_unified.h
+++ b/CORE/SERVICES/COMMON/wmi_unified.h
@@ -176,6 +176,7 @@ typedef enum {
WMI_GRP_LPI,
WMI_GRP_EXTSCAN,
WMI_GRP_DHCP_OFL,
+ WMI_GRP_IPA,
} WMI_GRP_ID;
#define WMI_CMD_GRP_START_ID(grp_id) (((grp_id) << 12) | 0x1)
@@ -679,6 +680,8 @@ typedef enum {
/** DHCP server offload commands */
WMI_SET_DHCP_SERVER_OFFLOAD_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_DHCP_OFL),
+ /** IPA Offload features related commands */
+ WMI_IPA_OFFLOAD_ENABLE_DISABLE_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_IPA),
} WMI_CMD_ID;
typedef enum {
@@ -8809,6 +8812,36 @@ typedef struct {
A_UINT32 num_client; /* number of clients we support */
} wmi_set_dhcp_server_offload_cmd_fixed_param;
+typedef enum {
+ AP_RX_DATA_OFFLOAD = 0x00,
+ STA_RX_DATA_OFFLOAD = 0x01,
+} wmi_ipa_offload_types;
+
+/**
+ * This command is sent from WLAN host driver to firmware for
+ * enabling/disabling IPA data-path offload features.
+ *
+ *
+ * Enabling data path offload to IPA(based on host INI configuration), example:
+ * when STA interface comes up,
+ * host->target: WMI_IPA_OFFLOAD_ENABLE_DISABLE_CMD,
+ * (enable = 1, vdev_id = STA vdev id, offload_type = STA_RX_DATA_OFFLOAD)
+ *
+ * Disabling data path offload to IPA, example:
+ * host->target: WMI_IPA_OFFLOAD_ENABLE_DISABLE_CMD,
+ * (enable = 0, vdev_id = STA vdev id, offload_type = STA_RX_DATA_OFFLOAD)
+ *
+ *
+ * This command is applicable only on the PCIE LL systems
+ *
+ */
+typedef struct {
+ A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_ipa_offload_enable_disable_cmd_fixed_param */
+ A_UINT32 offload_type; /* wmi_ipa_offload_types enum values */
+ A_UINT32 vdev_id;
+ A_UINT32 enable; /* 1 == enable, 0 == disable */
+} wmi_ipa_offload_enable_disable_cmd_fixed_param;
+
#ifdef __cplusplus
}
#endif
diff --git a/CORE/SERVICES/COMMON/wmi_version.h b/CORE/SERVICES/COMMON/wmi_version.h
index 2d14113bb1dd..9de9f5840fa6 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_ 66
+#define __WMI_REVISION_ 67
/** 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 297e09b35f8b..1c32d2ac4a73 100644
--- a/CORE/SERVICES/WMI/wmi_unified.c
+++ b/CORE/SERVICES/WMI/wmi_unified.c
@@ -586,6 +586,7 @@ static u_int8_t* get_wmi_cmd_string(WMI_CMD_ID wmi_command)
CASE_RETURN_STRING(WMI_PDEV_GET_TEMPERATURE_CMDID);
CASE_RETURN_STRING(WMI_SET_DHCP_SERVER_OFFLOAD_CMDID);
CASE_RETURN_STRING(WMI_TPC_CHAINMASK_CONFIG_CMDID);
+ CASE_RETURN_STRING(WMI_IPA_OFFLOAD_ENABLE_DISABLE_CMDID);
}
return "Invalid WMI cmd";
}