qcacmn: Enable Packetlog

Enable Packetlog for Lithium Based chipsets by:
Replacing ol_txrx calls with equivalent cdp calls

Change-Id: Ibf4431daca23c23c9e1c1a5e1ebb2579079e4969
CRs-Fixed: 2117063
This commit is contained in:
Venkata Sharath Chandra Manchala
2017-11-03 14:44:35 -07:00
committed by snandini
parent 5a6f4296cd
commit 09adf5336c
10 changed files with 583 additions and 307 deletions

View File

@@ -27,17 +27,17 @@
#ifndef _PKTLOG_AC_H_
#define _PKTLOG_AC_H_
#ifndef REMOVE_PKT_LOG
#ifndef REMOVE_PKT_LOG
#include "ol_if_athvar.h"
#include <pktlog_ac_api.h>
#include <pktlog_ac_fmt.h>
#include "osdep.h"
#include <wmi_unified.h>
#include <wmi_unified_api.h>
#include <wdi_event_api.h>
#include "hif.h"
#include <ol_defines.h>
#include <pktlog_ac_api.h>
#include <pktlog_ac_fmt.h>
#define NO_REG_FUNCS 4
@@ -57,18 +57,20 @@
*/
#define PKTLOG_READ_OFFSET 8
/* forward declaration for cdp_pdev */
struct cdp_pdev;
/* Opaque softc */
struct ol_ath_generic_softc_t;
typedef struct ol_ath_generic_softc_t *ol_ath_generic_softc_handle;
extern void pktlog_disable_adapter_logging(struct hif_opaque_softc *scn);
extern int pktlog_alloc_buf(struct hif_opaque_softc *scn);
extern void pktlog_release_buf(ol_txrx_pdev_handle pdev_txrx_handle);
extern void pktlog_release_buf(struct hif_opaque_softc *scn);
ssize_t pktlog_read_proc_entry(char *buf, size_t nbytes, loff_t *ppos,
struct ath_pktlog_info *pl_info, bool *read_complete);
int pktlog_send_per_pkt_stats_to_user(void);
A_STATUS
wdi_pktlog_unsubscribe(struct ol_txrx_pdev_t *txrx_pdev, uint32_t log_state);
A_STATUS wdi_pktlog_unsubscribe(struct cdp_pdev *txrx_pdev, uint32_t log_state);
struct ol_pl_arch_dep_funcs {
void (*pktlog_init)(struct hif_opaque_softc *scn);
@@ -81,7 +83,7 @@ struct ol_pl_arch_dep_funcs {
struct ol_pl_os_dep_funcs {
int (*pktlog_attach)(struct hif_opaque_softc *scn);
void (*pktlog_detach)(struct ol_txrx_pdev_t *handle);
void (*pktlog_detach)(struct hif_opaque_softc *scn);
};
@@ -96,7 +98,7 @@ extern struct ol_pl_arch_dep_funcs ol_pl_funcs;
extern struct ol_pl_os_dep_funcs *g_ol_pl_os_dep_funcs;
/* Pktlog handler to save the state of the pktlogs */
struct ol_pktlog_dev_t {
struct pktlog_dev_t {
struct ol_pl_arch_dep_funcs *pl_funcs;
struct ath_pktlog_info *pl_info;
ol_ath_generic_softc_handle scn;
@@ -108,6 +110,7 @@ struct ol_pktlog_dev_t {
uint8_t htc_endpoint;
void *htc_pdev;
bool vendor_cmd_send;
uint8_t callback_type;
};
#define PKTLOG_SYSCTL_SIZE 14
@@ -131,7 +134,8 @@ extern struct ol_pktlog_dev_t ol_pl_dev;
* WDI related data and functions
* Callback function to the WDI events
*/
void pktlog_callback(void *pdev, enum WDI_EVENT event, void *log_data);
void pktlog_callback(void *pdev, enum WDI_EVENT event, void *log_data,
u_int16_t peer_id, uint32_t status);
void pktlog_init(struct hif_opaque_softc *scn);
int pktlog_enable(struct hif_opaque_softc *scn, int32_t log_state,
@@ -140,9 +144,11 @@ int pktlog_setsize(struct hif_opaque_softc *scn, int32_t log_state);
int pktlog_clearbuff(struct hif_opaque_softc *scn, bool clear_buff);
int pktlog_disable(struct hif_opaque_softc *scn);
int pktlogmod_init(void *context);
void pktlogmod_exit(struct ol_txrx_pdev_t *handle);
void pktlogmod_exit(void *context);
int pktlog_htc_attach(void);
void pktlog_process_fw_msg(uint32_t *msg_word);
void lit_pktlog_callback(void *context, enum WDI_EVENT event, void *log_data,
u_int16_t peer_id, uint32_t status);
#define ol_pktlog_attach(_scn) \
do { \