qcacld-3.0: Enable Packetlog for Napier

Add ATH_PKTLOG_LITE_T2H and ATH_PKTLOG_LITE_RX
support for Napier.

Change-Id: I6e2833e2f7e1a4c68c51f7ae83d0ae76f63c9b0f
CRs-Fixed: 2133558
diff --git a/Kbuild b/Kbuild
index 16f6357..f4ff6eb 100644
--- a/Kbuild
+++ b/Kbuild
@@ -1123,6 +1123,10 @@
 DP_OBJS +=     $(DP_SRC)/dp_ipa.o
 endif
 
+ifeq ($(CONFIG_WDI_EVENT_ENABLE), 1)
+DP_OBJS +=     $(DP_SRC)/dp_wdi_event.o
+endif
+
 ############ CFG ############
 WCFG_DIR := wlan_cfg
 WCFG_INC := -I$(WLAN_COMMON_INC)/$(WCFG_DIR)
diff --git a/core/dp/txrx/ol_txrx.c b/core/dp/txrx/ol_txrx.c
index e604e39..c06dd0f 100644
--- a/core/dp/txrx/ol_txrx.c
+++ b/core/dp/txrx/ol_txrx.c
@@ -1292,7 +1292,7 @@
 
 	if (cds_get_conparam() != QDF_GLOBAL_FTM_MODE &&
 			!QDF_IS_EPPING_ENABLED(cds_get_conparam())) {
-		ol_pl_sethandle(&handle->pl_dev, scn);
+		pktlog_sethandle(&handle->pl_dev, scn);
 		if (pktlogmod_init(scn))
 			qdf_print("%s: pktlogmod_init failed", __func__);
 		else
diff --git a/core/dp/txrx/ol_txrx_event.c b/core/dp/txrx/ol_txrx_event.c
index 5141f2c..537c3a2 100644
--- a/core/dp/txrx/ol_txrx_event.c
+++ b/core/dp/txrx/ol_txrx_event.c
@@ -70,7 +70,7 @@
 
 	if (wdi_sub) {
 		do {
-			wdi_sub->callback(pdev, event, data);
+			wdi_sub->callback(pdev, event, data, 0, 0);
 		} while ((wdi_sub = wdi_event_next_sub(wdi_sub)));
 	}
 }
diff --git a/core/dp/txrx/ol_txrx_types.h b/core/dp/txrx/ol_txrx_types.h
index c7d77db..21ee9bd 100644
--- a/core/dp/txrx/ol_txrx_types.h
+++ b/core/dp/txrx/ol_txrx_types.h
@@ -620,7 +620,7 @@
 #if !defined(REMOVE_PKT_LOG) && !defined(QVIT)
 	bool pkt_log_init;
 	/* Pktlog pdev */
-	struct ol_pktlog_dev_t *pl_dev;
+	struct pktlog_dev_t *pl_dev;
 #endif /* #ifndef REMOVE_PKT_LOG */
 
 	enum ol_sec_type sec_types[htt_num_sec_types];
diff --git a/core/dp/txrx/wdi_event.h b/core/dp/txrx/wdi_event.h
index 857f284..7ce213b 100644
--- a/core/dp/txrx/wdi_event.h
+++ b/core/dp/txrx/wdi_event.h
@@ -32,6 +32,7 @@
 #include "qdf_nbuf.h"
 #define WDI_EVENT_BASE 0x100    /* Event starting number */
 
+#define WDI_NO_VAL (-1)
 enum WDI_EVENT {
 	WDI_EVENT_TX_STATUS = WDI_EVENT_BASE,
 	WDI_EVENT_RX_DESC,
@@ -40,6 +41,9 @@
 	WDI_EVENT_RATE_UPDATE,
 	WDI_EVENT_SW_EVENT,
 	WDI_EVENT_RX_PEER_INVALID,
+	/* From WIN definations */
+	WDI_EVENT_LITE_RX,
+	WDI_EVENT_LITE_T2H,
 	/* End of new event items */
 
 	WDI_EVENT_LAST
@@ -62,7 +66,8 @@
 };
 
 /* Opaque event callback */
-typedef void (*wdi_event_cb)(void *pdev, enum WDI_EVENT event, void *data);
+typedef void (*wdi_event_cb)(void *pdev, enum WDI_EVENT event, void *data,
+					u_int16_t peer_id, uint32_t status);
 
 /* Opaque event notify */
 typedef void (*wdi_event_notify)(enum WDI_EVENT_NOTIFY notify,
diff --git a/core/wma/src/wma_main.c b/core/wma/src/wma_main.c
index b5583ed..3b0d2f2 100644
--- a/core/wma/src/wma_main.c
+++ b/core/wma/src/wma_main.c
@@ -6547,6 +6547,7 @@
 					struct sir_wifi_start_log *start_log)
 {
 }
+
 #else
 static void wma_set_wifi_start_packet_stats(void *wma_handle,
 					struct sir_wifi_start_log *start_log)
@@ -6576,9 +6577,14 @@
 		return;
 	}
 
+#ifdef HELIUMPLUS
 	log_state = ATH_PKTLOG_ANI | ATH_PKTLOG_RCUPDATE | ATH_PKTLOG_RCFIND |
 		ATH_PKTLOG_RX | ATH_PKTLOG_TX |
-		ATH_PKTLOG_TEXT | ATH_PKTLOG_SW_EVENT;
+		ATH_PKTLOG_TEXT | ATH_PKTLOG_SW_EVENT |
+		ATH_PKTLOG_LITE_T2H | ATH_PKTLOG_LITE_RX;
+#else
+	log_state = ATH_PKTLOG_LITE_T2H | ATH_PKTLOG_LITE_RX;
+#endif
 
 	if (start_log->size != 0) {
 		pktlog_setsize(scn, start_log->size * MEGABYTE);
diff --git a/uapi/linux/pktlog_ac_fmt.h b/uapi/linux/pktlog_ac_fmt.h
index 8b03aec..826577e 100644
--- a/uapi/linux/pktlog_ac_fmt.h
+++ b/uapi/linux/pktlog_ac_fmt.h
@@ -69,9 +69,7 @@
 #endif
 	uint16_t size;
 	uint32_t timestamp;
-#ifdef HELIUMPLUS
 	uint32_t type_specific_data;
-#endif
 } __ATTRIB_PACK;
 
 /**
@@ -149,6 +147,13 @@
 #define ATH_PKTLOG_PROMISC  0x000000080
 #define ATH_PKTLOG_SW_EVENT 0x000000100
 
+/* WIN defns */
+#define ATH_PKTLOG_H_INFO   0x000000200
+#define ATH_PKTLOG_STEERING 0x000000400
+#define ATH_PKTLOG_REMOTE_LOGGING_ENABLE  0x000000800
+#define ATH_PKTLOG_TX_CAPTURE_ENABLE  0x000001000
+#define ATH_PKTLOG_LITE_T2H  0x000002000
+#define ATH_PKTLOG_LITE_RX   0x000004000
 
 /* Types of packet log events */
 #define PKTLOG_TYPE_TX_CTRL      1
@@ -162,7 +167,10 @@
 #define PKTLOG_TYPE_SMART_ANTENNA 9
 #define PKTLOG_TYPE_SW_EVENT     10
 #define PKTLOG_TYPE_PKT_DUMP     11
-#define PKTLOG_TYPE_MAX          12
+/* From WIN definations */
+#define PKTLOG_TYPE_LITE_T2H     23
+#define PKTLOG_TYPE_LITE_RX      24
+#define PKTLOG_TYPE_MAX          25
 
 #define PKTLOG_MAX_TXCTL_WORDS 57       /* +2 words for bitmap */
 #define PKTLOG_MAX_TXSTATUS_WORDS 32