summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorspuligil <spuligil@codeaurora.org>2019-07-06 06:00:37 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2019-07-18 06:22:02 -0700
commitdfecb1cb9c70d260002d3ec8358052f6db972519 (patch)
tree6f82c46c66e701731ec76073826c395a0295ffef
parent35b3551ec53745e2d7aa931963ad0f55725482aa (diff)
fw-api: CL 7553672 - update fw common interface files
Add WMI_OEM_DATA_CMD msg def Change-Id: I21d86243eba8ac341b566b2ec701f9215eaecbe8 CRs-Fixed: 2262693
-rwxr-xr-xfw/wmi_tlv_defs.h8
-rwxr-xr-xfw/wmi_unified.h27
-rwxr-xr-xfw/wmi_version.h2
3 files changed, 36 insertions, 1 deletions
diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h
index a027fb9e59a8..c01803947030 100755
--- a/fw/wmi_tlv_defs.h
+++ b/fw/wmi_tlv_defs.h
@@ -992,6 +992,7 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_vdev_delete_all_peer_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_vdev_delete_all_peer_resp_event_fixed_param,
WMITLV_TAG_STRUC_wmi_chan_rf_characterization_info_event_fixed_param,
+ WMITLV_TAG_STRUC_wmi_oem_data_cmd_fixed_param,
} WMITLV_TAG_ID;
/*
@@ -1394,6 +1395,7 @@ typedef enum {
OP(WMI_TWT_BTWT_INVITE_STA_CMDID) \
OP(WMI_TWT_BTWT_REMOVE_STA_CMDID) \
OP(WMI_VDEV_DELETE_ALL_PEER_CMDID) \
+ OP(WMI_OEM_DATA_CMDID) \
/* add new CMD_LIST elements above this line */
@@ -4010,6 +4012,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_PKTLOG_FILTER_CMDID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_pdev_set_rap_config_on_sta_ps_tlv_param, rap_param, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SET_RAP_CONFIG_CMDID);
+/* OEM Data config cmd */
+#define WMITLV_TABLE_WMI_OEM_DATA_CMDID(id,op,buf,len) \
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_oem_data_cmd_fixed_param, wmi_oem_data_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, oem_data, WMITLV_SIZE_VAR)
+WMITLV_CREATE_PARAM_STRUC(WMI_OEM_DATA_CMDID);
+
/************************** TLV definitions of WMI events *******************************/
diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h
index 81c131d1e78a..ae794010ac03 100755
--- a/fw/wmi_unified.h
+++ b/fw/wmi_unified.h
@@ -1074,12 +1074,17 @@ typedef enum {
WMI_BATCH_SCAN_DISABLE_CMDID,
/*get batch scan result*/
WMI_BATCH_SCAN_TRIGGER_RESULT_CMDID,
+
+
/* OEM related cmd */
WMI_OEM_REQ_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_OEM),
WMI_OEM_REQUEST_CMDID, /* UNUSED */
/* OEM related cmd used for Low Power ranging */
WMI_LPI_OEM_REQ_CMDID,
WMI_OEM_DMA_RING_CFG_REQ_CMDID,
+ /** Command to handle OEM's opaque data */
+ WMI_OEM_DATA_CMDID,
+
/** Nan Request */
WMI_NAN_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_NAN),
@@ -17517,6 +17522,27 @@ typedef struct {
} wmi_oem_dma_buf_release_entry;
typedef struct {
+ /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_oem_data_cmd_fixed_param */
+ A_UINT32 tlv_header;
+ /** Unique id identifying the VDEV */
+ A_UINT32 vdev_id;
+ /** Actual length in byte of data[]. */
+ A_UINT32 data_len;
+/** This structure is used to send OEM DATA binary blobs from
+ * application/service to firmware where Host driver is pass through.
+ * The OEM-specific commands from OEM-specific userspace applications
+ * are passed to OEM-specific feature handlers in firmware as OEM DATA
+ * binary blobs. The format of the data is per agreement between FW and
+ * userspace applications, with the binary blob beginning with a header
+ * that identifies to the FW the nature of the remaining data within the
+ * blob.
+ *
+ * Following this structure is the TLV:
+ * A_UINT8 data[]; <-- actual length in byte given by field data_len.
+ */
+} wmi_oem_data_cmd_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
@@ -24243,6 +24269,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
WMI_RETURN_STRING(WMI_PDEV_DSM_FILTER_CMDID);
WMI_RETURN_STRING(WMI_TWT_BTWT_INVITE_STA_CMDID);
WMI_RETURN_STRING(WMI_TWT_BTWT_REMOVE_STA_CMDID);
+ WMI_RETURN_STRING(WMI_OEM_DATA_CMDID);
}
return "Invalid WMI cmd";
diff --git a/fw/wmi_version.h b/fw/wmi_version.h
index 2f9ebbd8c03f..f7ad83982809 100755
--- a/fw/wmi_version.h
+++ b/fw/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_ 690
+#define __WMI_REVISION_ 691
/** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work