Bläddra i källkod

qcacmn: Add extract APIs for qvit event

Add extarct API to get QVIT event data.

Change-Id: I7777946a34f176dabb96f98ab3062222bc02b202
CRs-Fixed: 2003898
Kiran Venkatappa 8 år sedan
förälder
incheckning
c18657199f

+ 4 - 0
wmi/inc/wmi_unified_api.h

@@ -1345,6 +1345,10 @@ QDF_STATUS wmi_extract_pdev_utf_event(void *wmi_hdl,
 				      uint8_t *evt_buf,
 				      struct wmi_host_pdev_utf_event *param);
 
+QDF_STATUS wmi_extract_pdev_qvit_event(void *wmi_hdl,
+				      uint8_t *evt_buf,
+				      struct wmi_host_pdev_qvit_event *param);
+
 QDF_STATUS wmi_extract_peer_delete_response_event(void *wmi_hdl,
 		uint8_t *evt_buf,
 		struct wmi_host_peer_delete_response_event *param);

+ 12 - 0
wmi/inc/wmi_unified_param.h

@@ -7292,6 +7292,18 @@ struct wmi_host_pdev_utf_event {
 	uint32_t pdev_id;
 };
 
+/**
+ * struct wmi_host_pdev_qvit_event - Host defined struct to hold qvit event data
+ * @data:        Pointer to data
+ * @datalen:     Data length
+ *
+ */
+struct wmi_host_pdev_qvit_event {
+	uint8_t *data;
+	uint16_t datalen;
+	uint32_t pdev_id;
+};
+
 /**
  * struct wmi_host_peer_delete_response_event - Peer Delete response event param
  * @vdev_id: vdev id

+ 4 - 0
wmi/inc/wmi_unified_priv.h

@@ -1228,6 +1228,10 @@ QDF_STATUS (*extract_pdev_utf_event)(wmi_unified_t wmi_hdl,
 				     uint8_t *evt_buf,
 				     struct wmi_host_pdev_utf_event *param);
 
+QDF_STATUS (*extract_pdev_qvit_event)(wmi_unified_t wmi_hdl,
+				     uint8_t *evt_buf,
+				     struct wmi_host_pdev_qvit_event *param);
+
 uint16_t (*wmi_set_htc_tx_tag)(wmi_unified_t wmi_handle,
 				wmi_buf_t buf, uint32_t cmd_id);
 

+ 23 - 0
wmi/src/wmi_unified_api.c

@@ -6308,6 +6308,29 @@ QDF_STATUS wmi_extract_pdev_utf_event(void *wmi_hdl,
 	return QDF_STATUS_E_FAILURE;
 }
 
+/**
+ * wmi_extract_pdev_qvit_event() -
+ *       extract UTF data from pdev qvit event
+ * @wmi_handle: wmi handle
+ * @param evt_buf: pointer to event buffer
+ * @param param: Pointer to hold evt buf
+ *
+ * Return: QDF_STATUS_SUCCESS for success or error code
+ */
+QDF_STATUS wmi_extract_pdev_qvit_event(void *wmi_hdl,
+				      uint8_t *evt_buf,
+				      struct wmi_host_pdev_qvit_event *param)
+{
+	wmi_unified_t wmi_handle = (wmi_unified_t) wmi_hdl;
+
+	if (wmi_handle->ops->extract_pdev_qvit_event)
+		return wmi_handle->ops->extract_pdev_qvit_event(
+				wmi_handle,
+				evt_buf, param);
+
+	return QDF_STATUS_E_FAILURE;
+}
+
 /**
  * wmi_unified_send_coex_ver_cfg_cmd() - send coex ver cfg command
  * @wmi_handle: wmi handle

+ 19 - 0
wmi/src/wmi_unified_non_tlv.c

@@ -7881,6 +7881,25 @@ static QDF_STATUS extract_pdev_utf_event_non_tlv(
 	return QDF_STATUS_SUCCESS;
 }
 
+/**
+ * extract_pdev_qvit_event_non_tlv() - extract QVIT data info from event
+ * @wmi_handle: WMI handle
+ * @param evt_buf: Pointer to event buffer
+ * @param param: Pointer to hold data
+ *
+ * Return : QDF_STATUS_SUCCESS for success or error code
+ */
+static QDF_STATUS extract_pdev_qvit_event_non_tlv(
+			wmi_unified_t wmi_handle,
+			uint8_t *evt_buf,
+			struct wmi_host_pdev_qvit_event *event)
+{
+	event->data = evt_buf;
+	event->pdev_id = WMI_NON_TLV_DEFAULT_PDEV_ID;
+
+	return QDF_STATUS_SUCCESS;
+}
+
 static bool is_management_record_non_tlv(uint32_t cmd_id)
 {
 	if ((cmd_id == WMI_BCN_TX_CMDID) ||