blob: 9c450238539d69733478dc648e58e93a42c9f173 [file] [log] [blame]
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001/*
Ashish Kumar Dhanotiya7a031ce2017-01-23 13:11:30 +05302 * Copyright (c) 2014-2017 The Linux Foundation. All rights reserved.
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08003 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21
22/*
23 * This file was originally distributed by Qualcomm Atheros, Inc.
24 * under proprietary terms before Copyright ownership was assigned
25 * to the Linux Foundation.
26 */
27
28/******************************************************************************
29* wlan_logging_sock_svc.h
30*
31******************************************************************************/
32
33#ifndef WLAN_LOGGING_SOCK_SVC_H
34#define WLAN_LOGGING_SOCK_SVC_H
35
36#include <wlan_nlink_srv.h>
Anurag Chouhance0dc992016-02-16 18:18:03 +053037#include <qdf_status.h>
Anurag Chouhanb2dc16f2016-02-25 11:47:37 +053038#include <qdf_trace.h>
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080039#include <wlan_nlink_common.h>
40
41int wlan_logging_sock_init_svc(void);
42int wlan_logging_sock_deinit_svc(void);
43int wlan_logging_sock_activate_svc(int log_fe_to_console, int num_buf);
44int wlan_logging_sock_deactivate_svc(void);
Anurag Chouhanb2dc16f2016-02-25 11:47:37 +053045int wlan_log_to_user(QDF_TRACE_LEVEL log_level, char *to_be_sent, int length);
Mohit Khanna43f433d2016-05-17 14:46:06 -070046
47#ifdef WLAN_LOGGING_SOCK_SVC_ENABLE
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080048void wlan_logging_set_per_pkt_stats(void);
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080049void wlan_logging_set_fw_flush_complete(void);
Abhishek Singh5ea86532016-04-27 14:10:53 +053050void wlan_flush_host_logs_for_fatal(void);
Mohit Khanna43f433d2016-05-17 14:46:06 -070051#else
52static inline void wlan_flush_host_logs_for_fatal(void)
53{
54}
Mohit Khanna43f433d2016-05-17 14:46:06 -070055static inline void wlan_logging_set_per_pkt_stats(void)
56{
57}
58static inline void wlan_logging_set_fw_flush_complete(void)
59{
60}
61#endif /* WLAN_LOGGING_SOCK_SVC_ENABLE */
62
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080063#ifdef FEATURE_WLAN_DIAG_SUPPORT
64void wlan_report_log_completion(uint32_t is_fatal,
65 uint32_t indicator,
66 uint32_t reason_code);
67#else
68static inline void wlan_report_log_completion(uint32_t is_fatal,
69 uint32_t indicator,
70 uint32_t reason_code)
71{
72 return;
73}
Abhishek Singh5ea86532016-04-27 14:10:53 +053074
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080075#endif /* FEATURE_WLAN_DIAG_SUPPORT */
Himanshu Agarwal46956a52016-07-26 19:46:25 +053076
77void wlan_pkt_stats_to_logger_thread(void *pl_hdr, void *pkt_dump, void *data);
78
Himanshu Agarwalf65bd4c2016-12-05 17:21:12 +053079void wlan_deregister_txrx_packetdump(void);
80void wlan_register_txrx_packetdump(void);
81
Prakash Dhavali7090c5f2015-11-02 17:55:19 -080082#endif /* WLAN_LOGGING_SOCK_SVC_H */