qcacmn: Change wmi ready wait to qdf_event

In current implementation, wait_queue is used for waiting on WMI ready
event, it is now changed to event mechanism

Change-Id: I08b4f088874b7c63e20b129f14dbac01851496e5
CRs-Fixed: 2276900
diff --git a/qdf/linux/src/qdf_module.c b/qdf/linux/src/qdf_module.c
index 33ffdef..d10c11e 100644
--- a/qdf/linux/src/qdf_module.c
+++ b/qdf/linux/src/qdf_module.c
@@ -26,6 +26,7 @@
 #include <qdf_trace.h>
 #include <qdf_nbuf.h>
 #include <qdf_mem.h>
+#include <qdf_event.h>
 
 MODULE_AUTHOR("Qualcomm Atheros Inc.");
 MODULE_DESCRIPTION("Qualcomm Atheros Device Framework Module");
@@ -49,6 +50,7 @@
 	qdf_logging_init();
 	qdf_perfmod_init();
 	qdf_nbuf_mod_init();
+	qdf_event_list_init();
 	return 0;
 }
 module_init(qdf_mod_init);
@@ -61,6 +63,7 @@
 static void __exit
 qdf_mod_exit(void)
 {
+	qdf_event_list_destroy();
 	qdf_nbuf_mod_exit();
 	qdf_perfmod_exit();
 	qdf_logging_exit();
diff --git a/target_if/core/inc/target_if.h b/target_if/core/inc/target_if.h
index 7232d29..ae27cb8 100644
--- a/target_if/core/inc/target_if.h
+++ b/target_if/core/inc/target_if.h
@@ -138,8 +138,7 @@
  * @max_descs: Max descriptors
  * @preferred_hw_mode: preferred hw mode
  * @wmi_timeout: wait timeout for target events
- * @wmi_timeout_unintr: wait timeout uninterruptedly
- * @event_queue: wait queue for target events
+ * @event: qdf_event for target events
  * @service_bitmap: WMI service bitmap
  * @target_cap: target capabilities
  * @service_ext_param: ext service params
@@ -161,8 +160,7 @@
 	uint32_t max_descs;
 	uint32_t preferred_hw_mode;
 	uint32_t wmi_timeout;
-	uint32_t wmi_timeout_unintr;
-	qdf_wait_queue_head_t event_queue;
+	qdf_event_t event;
 	uint32_t service_bitmap[PSOC_SERVICE_BM_SIZE];
 	struct wlan_psoc_target_capability_info target_caps;
 	struct wlan_psoc_host_service_ext_param service_ext_param;
@@ -690,41 +688,6 @@
 }
 
 /**
- * target_psoc_set_wmi_timeout_unintr() - set wmi_timeout_unintr
- * @psoc_info:  pointer to structure target_psoc_info
- * @wmi_timeout_unint: WMI timeout uninterrupted in sec
- *
- * API to set wmi_timeout_unintr
- *
- * Return: void
- */
-static inline void target_psoc_set_wmi_timeout_unintr
-		(struct target_psoc_info *psoc_info, uint32_t wmi_timeout_unint)
-{
-	if (psoc_info == NULL)
-		return;
-
-	psoc_info->info.wmi_timeout_unintr = wmi_timeout_unint;
-}
-
-/**
- * target_psoc_get_wmi_timeout_unintr() - get wmi_timeout_unintr
- * @psoc_info:  pointer to structure target_psoc_info
- *
- * API to get wmi_timeout_unintr
- *
- * Return: unint32_t
- */
-static inline uint32_t target_psoc_get_wmi_timeout_unintr
-		(struct target_psoc_info *psoc_info)
-{
-	if (psoc_info == NULL)
-		return (uint32_t)-1;
-
-	return psoc_info->info.wmi_timeout_unintr;
-}
-
-/**
  * target_psoc_set_total_mac_phy_cnt() - set total_mac_phy
  * @psoc_info:  pointer to structure target_psoc_infoa
  * @total_mac_phy_cnt: Total MAC PHY cnt
@@ -1192,13 +1155,13 @@
  *
  * Return: structure pointer to qdf_wait_queue_head_t
  */
-static inline qdf_wait_queue_head_t *target_psoc_get_event_queue
+static inline qdf_event_t *target_psoc_get_event
 		(struct target_psoc_info *psoc_info)
 {
 	if (psoc_info == NULL)
 		return NULL;
 
-	return &psoc_info->info.event_queue;
+	return &psoc_info->info.event;
 }
 
 /**
diff --git a/target_if/core/src/target_if_main.c b/target_if/core/src/target_if_main.c
index dd1d806..b17f664 100644
--- a/target_if/core/src/target_if_main.c
+++ b/target_if/core/src/target_if_main.c
@@ -522,7 +522,7 @@
 	wlan_psoc_set_tgt_if_handle(psoc, tgt_psoc_info);
 	target_psoc_set_preferred_hw_mode(tgt_psoc_info, WMI_HOST_HW_MODE_MAX);
 
-	qdf_init_waitqueue_head(&tgt_psoc_info->info.event_queue);
+	qdf_event_create(&tgt_psoc_info->info.event);
 
 	return QDF_STATUS_SUCCESS;
 }
@@ -547,6 +547,8 @@
 	init_deinit_chainmask_table_free(ext_param);
 	init_deinit_dbr_ring_cap_free(tgt_psoc_info);
 
+	qdf_event_destroy(&tgt_psoc_info->info.event);
+
 	wlan_psoc_set_tgt_if_handle(psoc, NULL);
 
 	qdf_mem_free(tgt_psoc_info);
diff --git a/target_if/init_deinit/src/service_ready_util.c b/target_if/init_deinit/src/service_ready_util.c
index 8080685..ced5421 100644
--- a/target_if/init_deinit/src/service_ready_util.c
+++ b/target_if/init_deinit/src/service_ready_util.c
@@ -570,5 +570,5 @@
 		target_if_err("psoc target_psoc_info is null in target ready");
 		return;
 	}
-	qdf_wake_up(&tgt_hdl->info.event_queue);
+	qdf_event_set(&tgt_hdl->info.event);
 }