summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRajesh Chauhan <rajeshc@qca.qualcomm.com>2014-02-06 10:58:49 -0800
committerAkash Patel <c_akashp@qca.qualcomm.com>2014-02-07 17:38:18 -0800
commitca220fab78f3c75cb3f2d8e85daccb7c173dfadb (patch)
tree0a78d72e57ddeb26248984ac17fa17f100468e7d
parent6fb45e6707b231dcbe96ab33239d594b0635c7bd (diff)
qcacld: CL 835222 - update fw common interface files
Changes in WMI header files for NaN. Change-Id: I7732927d0f36885cda09807706aaae034dbbad55 CRs-Fixed: 612510
-rw-r--r--CORE/SERVICES/COMMON/wmi_services.h3
-rw-r--r--CORE/SERVICES/COMMON/wmi_tlv_defs.h18
-rw-r--r--CORE/SERVICES/COMMON/wmi_unified.h27
-rw-r--r--CORE/SERVICES/COMMON/wmi_version.h4
-rw-r--r--CORE/SERVICES/WMI/wmi_unified.c2
5 files changed, 49 insertions, 5 deletions
diff --git a/CORE/SERVICES/COMMON/wmi_services.h b/CORE/SERVICES/COMMON/wmi_services.h
index e97d2e04a613..e8b41bd2ff6d 100644
--- a/CORE/SERVICES/COMMON/wmi_services.h
+++ b/CORE/SERVICES/COMMON/wmi_services.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011-2013 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2011-2014 The Linux Foundation. All rights reserved.
*
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
*
@@ -97,6 +97,7 @@ typedef enum {
WMI_SERVICE_MHF_OFFLOAD, /* multi-hop forwarding offload */
WMI_SERVICE_COEX_SAR, /* target support SAR tx limit from WMI_PDEV_PARAM_TXPOWER_LIMITxG */
WMI_SERVICE_BCN_TXRATE_OVERRIDE, /* Will support the bcn/prb rsp rate override */
+ WMI_SERVICE_NAN, /* Neighbor Awareness Network */
WMI_MAX_SERVICE=64 /* max service */
} WMI_SERVICE;
diff --git a/CORE/SERVICES/COMMON/wmi_tlv_defs.h b/CORE/SERVICES/COMMON/wmi_tlv_defs.h
index 067c9ffd74e1..8ffd0582ac16 100644
--- a/CORE/SERVICES/COMMON/wmi_tlv_defs.h
+++ b/CORE/SERVICES/COMMON/wmi_tlv_defs.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2013 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2013-2014 The Linux Foundation. All rights reserved.
*
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
*
@@ -418,6 +418,8 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_mhf_offload_plumb_routing_table_cmd_fixed_param,
WMITLV_TAG_STRUC_WMI_ADD_PROACTIVE_ARP_RSP_PATTERN_CMD_fixed_param,
WMITLV_TAG_STRUC_WMI_DEL_PROACTIVE_ARP_RSP_PATTERN_CMD_fixed_param,
+ WMITLV_TAG_STRUC_wmi_nan_cmd_param,
+ WMITLV_TAG_STRUC_wmi_nan_event_hdr,
WMITLV_TAG_STRUC_wmi_diag_data_container_event_fixed_param,
} WMITLV_TAG_ID;
@@ -568,7 +570,8 @@ typedef enum {
OP(WMI_BATCH_SCAN_TRIGGER_RESULT_CMDID) \
OP(WMI_THERMAL_MGMT_CMDID) \
OP(WMI_ADD_PROACTIVE_ARP_RSP_PATTERN_CMDID) \
- OP(WMI_DEL_PROACTIVE_ARP_RSP_PATTERN_CMDID)
+ OP(WMI_DEL_PROACTIVE_ARP_RSP_PATTERN_CMDID) \
+ OP(WMI_NAN_CMDID)
/*
* IMPORTANT: Please add _ALL_ WMI Events Here.
@@ -630,6 +633,7 @@ typedef enum {
OP(WMI_BATCH_SCAN_ENABLED_EVENTID) \
OP(WMI_BATCH_SCAN_RESULT_EVENTID) \
OP(WMI_THERMAL_MGMT_EVENTID) \
+ OP(WMI_NAN_EVENTID) \
OP(WMI_DIAG_DATA_CONTAINER_EVENTID)
/* TLV definitions of WMI commands */
@@ -1511,6 +1515,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_ADD_PROACTIVE_ARP_RSP_PATTERN_CMDID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_WMI_DEL_PROACTIVE_ARP_RSP_PATTERN_CMD_fixed_param, WMI_DEL_PROACTIVE_ARP_RSP_PATTERN_CMD_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_DEL_PROACTIVE_ARP_RSP_PATTERN_CMDID);
+/* NaN Request */
+#define WMITLV_TABLE_WMI_NAN_CMDID(id,op,buf,len) \
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_nan_cmd_param, wmi_nan_cmd_param, fixed_param, WMITLV_SIZE_FIX) \
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, data, WMITLV_SIZE_VAR)
+WMITLV_CREATE_PARAM_STRUC(WMI_NAN_CMDID);
/************************** TLV definitions of WMI events *******************************/
@@ -1812,6 +1821,11 @@ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_dfs_radar_event_fixed_param, wmi
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_thermal_mgmt_event_fixed_param, wmi_thermal_mgmt_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_THERMAL_MGMT_EVENTID);
+/* NAN Response/Indication Event */
+#define WMITLV_TABLE_WMI_NAN_EVENTID(id,op,buf,len) \
+WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_nan_event_hdr, wmi_nan_event_hdr, fixed_param, WMITLV_SIZE_FIX) \
+WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, data, WMITLV_SIZE_VAR)
+ WMITLV_CREATE_PARAM_STRUC(WMI_NAN_EVENTID);
#define WMITLV_TABLE_WMI_DIAG_DATA_CONTAINER_EVENTID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_diag_data_container_event_fixed_param, wmi_diag_data_container_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
diff --git a/CORE/SERVICES/COMMON/wmi_unified.h b/CORE/SERVICES/COMMON/wmi_unified.h
index b4e1f179539a..3d487815450f 100644
--- a/CORE/SERVICES/COMMON/wmi_unified.h
+++ b/CORE/SERVICES/COMMON/wmi_unified.h
@@ -170,6 +170,7 @@ typedef enum {
WMI_GRP_MHF_OFL,
WMI_GRP_LOCATION_SCAN,
WMI_GRP_OEM,
+ WMI_GRP_NAN,
} WMI_GRP_ID;
#define WMI_CMD_GRP_START_ID(grp_id) (((grp_id) << 12) | 0x1)
@@ -585,6 +586,9 @@ typedef enum {
WMI_BATCH_SCAN_TRIGGER_RESULT_CMDID,
/* OEM related cmd */
WMI_OEM_REQ_CMDID=WMI_CMD_GRP_START_ID(WMI_GRP_OEM),
+
+ /** Nan Request */
+ WMI_NAN_CMDID=WMI_CMD_GRP_START_ID(WMI_GRP_NAN),
} WMI_CMD_ID;
typedef enum {
@@ -772,6 +776,9 @@ typedef enum {
WMI_OEM_CAPABILITY_EVENTID=WMI_EVT_GRP_START_ID(WMI_GRP_OEM),
WMI_OEM_MEASUREMENT_REPORT_EVENTID,
WMI_OEM_ERROR_REPORT_EVENTID,
+
+ /* NAN Event */
+ WMI_NAN_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_NAN),
} WMI_EVT_ID;
/* defines for OEM message sub-types */
@@ -6306,6 +6313,26 @@ typedef struct {
} wmi_thermal_mgmt_event_fixed_param;
typedef struct {
+ A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_nan_cmd_param */
+ A_UINT32 data_len; /** length in byte of data[]. */
+ /* This structure is used to send REQ binary blobs
+ * from application/service to firmware where Host drv is pass through .
+ * Following this structure is the TLV:
+ * A_UINT8 data[]; // length in byte given by field data_len.
+ */
+} wmi_nan_cmd_param;
+
+typedef struct {
+ A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_nan_event_hdr */
+ A_UINT32 data_len; /** length in byte of data[]. */
+ /* This structure is used to send REQ binary blobs
+ * from firmware to application/service where Host drv is pass through .
+ * Following this structure is the TLV:
+ * A_UINT8 data[]; // length in byte given by field data_len.
+ */
+} wmi_nan_event_hdr;
+
+typedef struct {
A_UINT32 tlv_header;
A_UINT32 num_data;
/* followed by WMITLV_TAG_ARRAY_BYTE */
diff --git a/CORE/SERVICES/COMMON/wmi_version.h b/CORE/SERVICES/COMMON/wmi_version.h
index fbc3636b9e73..55446bd96c06 100644
--- a/CORE/SERVICES/COMMON/wmi_version.h
+++ b/CORE/SERVICES/COMMON/wmi_version.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012-2013 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2012-2014 The Linux Foundation. All rights reserved.
*
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
*
@@ -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_ 33
+#define __WMI_REVISION_ 34
/** 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 8d681fa4ff5e..28830972dee1 100644
--- a/CORE/SERVICES/WMI/wmi_unified.c
+++ b/CORE/SERVICES/WMI/wmi_unified.c
@@ -478,6 +478,8 @@ static u_int8_t* get_wmi_cmd_string(WMI_CMD_ID wmi_command)
CASE_RETURN_STRING(WMI_BATCH_SCAN_TRIGGER_RESULT_CMDID);
/* OEM related cmd */
CASE_RETURN_STRING(WMI_OEM_REQ_CMDID);
+ /* NAN request cmd */
+ CASE_RETURN_STRING(WMI_NAN_CMDID);
}
return "Invalid WMI cmd";
}