
The kernel-doc script identified documentation issues in the QDF trace abstractions, so fix those issues. In addition, there are instances where public functions have their implementation documented instead of having their interface documented, so move that documentation. Change-Id: Ife16fe9527dbe013003c5f2f04d7e9d0a9aa385a CRs-Fixed: 3406201
287 lines
7.5 KiB
C
287 lines
7.5 KiB
C
/*
|
|
* Copyright (c) 2021, 2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
|
*
|
|
* Permission to use, copy, modify, and/or distribute this software for
|
|
* any purpose with or without fee is hereby granted, provided that the
|
|
* above copyright notice and this permission notice appear in all
|
|
* copies.
|
|
*
|
|
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
|
|
* WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
|
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
|
|
* AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
|
|
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
|
|
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
|
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
* PERFORMANCE OF THIS SOFTWARE.
|
|
*/
|
|
/**
|
|
* DOC: qdf_tracepoint.h
|
|
* This file defines HLOS agnostic functions providing external interface
|
|
* for triggering tracepoints.
|
|
*/
|
|
#if !defined(_QDF_TRACEPOINT_H)
|
|
#define _QDF_TRACEPOINT_H
|
|
|
|
#include <i_qdf_tracepoint.h>
|
|
#include <qdf_nbuf.h>
|
|
#include <qdf_trace.h>
|
|
|
|
#ifdef WLAN_TRACEPOINTS
|
|
/**
|
|
* qdf_trace_dp_packet() - Trace packet in tx or rx path
|
|
* @nbuf: network buffer pointer
|
|
* @dir: tx or rx direction
|
|
* @tso_desc: TSO descriptor
|
|
* @enq_time: tx hw enqueue wall clock time in milliseconds
|
|
*
|
|
* Return: None
|
|
*/
|
|
void qdf_trace_dp_packet(qdf_nbuf_t nbuf, enum qdf_proto_dir dir,
|
|
struct qdf_tso_seg_elem_t *tso_desc,
|
|
uint64_t enq_time);
|
|
#else
|
|
static inline
|
|
void qdf_trace_dp_packet(qdf_nbuf_t nbuf, enum qdf_proto_dir dir,
|
|
struct qdf_tso_seg_elem_t *tso_desc,
|
|
uint64_t enq_time)
|
|
{
|
|
}
|
|
#endif
|
|
|
|
/**
|
|
* qdf_trace_dp_rx_tcp_pkt_enabled() - Get the dp_rx_tcp_pkt tracepoint
|
|
* enabled or disabled state
|
|
*
|
|
* Return: True if the tracepoint is enabled else false
|
|
*/
|
|
static inline
|
|
bool qdf_trace_dp_rx_tcp_pkt_enabled(void)
|
|
{
|
|
return __qdf_trace_dp_rx_tcp_pkt_enabled();
|
|
}
|
|
|
|
/**
|
|
* qdf_trace_dp_rx_tcp_pkt() - Trace tcp packet in rx direction
|
|
* @nbuf: pointer to network buffer
|
|
* @tcp_seq_num: TCP sequence number
|
|
* @tcp_ack_num: TCP acknowlegment number
|
|
* @srcport: TCP source port
|
|
* @dstport: TCP destination port
|
|
* @latency: latency in milliseconds
|
|
*
|
|
* Return: None
|
|
*/
|
|
static inline
|
|
void qdf_trace_dp_rx_tcp_pkt(qdf_nbuf_t nbuf, uint32_t tcp_seq_num,
|
|
uint32_t tcp_ack_num, uint16_t srcport,
|
|
uint16_t dstport, uint64_t latency)
|
|
{
|
|
__qdf_trace_dp_rx_tcp_pkt(nbuf, tcp_seq_num, tcp_ack_num,
|
|
srcport, dstport, latency);
|
|
}
|
|
|
|
/**
|
|
* qdf_trace_dp_tx_comp_tcp_pkt_enabled() - Get the dp_tx_comp_tcp_pkt
|
|
* tracepoint enabled or disabled state
|
|
*
|
|
* Return: True if the tracepoint is enabled else false
|
|
*/
|
|
static inline
|
|
bool qdf_trace_dp_tx_comp_tcp_pkt_enabled(void)
|
|
{
|
|
return __qdf_trace_dp_tx_comp_tcp_pkt_enabled();
|
|
}
|
|
|
|
/**
|
|
* qdf_trace_dp_tx_comp_tcp_pkt() - Trace tcp packet in tx completion
|
|
* @nbuf: pointer to network buffer
|
|
* @tcp_seq_num: TCP sequence number
|
|
* @tcp_ack_num: TCP acknowlegment number
|
|
* @srcport: TCP source port
|
|
* @dstport: TCP destination port
|
|
* @latency: latency in milliseconds
|
|
*
|
|
* Return: None
|
|
*/
|
|
static inline
|
|
void qdf_trace_dp_tx_comp_tcp_pkt(qdf_nbuf_t nbuf, uint32_t tcp_seq_num,
|
|
uint32_t tcp_ack_num, uint16_t srcport,
|
|
uint16_t dstport, uint64_t latency)
|
|
{
|
|
__qdf_trace_dp_tx_comp_tcp_pkt(nbuf, tcp_seq_num, tcp_ack_num, srcport,
|
|
dstport, latency);
|
|
}
|
|
|
|
/**
|
|
* qdf_trace_dp_rx_udp_pkt_enabled() - Get the dp_rx_udp_pkt tracepoint
|
|
* enabled or disabled state
|
|
*
|
|
* Return: True if the tracepoint is enabled else false
|
|
*/
|
|
static inline
|
|
bool qdf_trace_dp_rx_udp_pkt_enabled(void)
|
|
{
|
|
return __qdf_trace_dp_rx_udp_pkt_enabled();
|
|
}
|
|
|
|
/**
|
|
* qdf_trace_dp_rx_udp_pkt() - Trace udp packet in rx direction
|
|
* @nbuf: pointer to network buffer
|
|
* @ip_id: ip identification field
|
|
* @srcport: UDP source port
|
|
* @dstport: UDP destination port
|
|
* @latency: latency in milliseconds
|
|
*
|
|
* Return: None
|
|
*/
|
|
static inline
|
|
void qdf_trace_dp_rx_udp_pkt(qdf_nbuf_t nbuf, uint16_t ip_id,
|
|
uint16_t srcport, uint16_t dstport,
|
|
uint64_t latency)
|
|
{
|
|
__qdf_trace_dp_rx_udp_pkt(nbuf, ip_id, srcport, dstport, latency);
|
|
}
|
|
|
|
/**
|
|
* qdf_trace_dp_tx_comp_udp_pkt_enabled() - Get the dp_tx_comp_udp_pkt
|
|
* tracepoint enabled or disabled state
|
|
*
|
|
* Return: True if the tracepoint is enabled else false
|
|
*/
|
|
static inline
|
|
bool qdf_trace_dp_tx_comp_udp_pkt_enabled(void)
|
|
{
|
|
return __qdf_trace_dp_tx_comp_udp_pkt_enabled();
|
|
}
|
|
|
|
/**
|
|
* qdf_trace_dp_tx_comp_udp_pkt() - Trace udp packet in tx completion
|
|
* @nbuf: pointer to network buffer
|
|
* @ip_id: ip identification field
|
|
* @srcport: UDP source port
|
|
* @dstport: UDP destination port
|
|
* @latency: latency in milliseconds
|
|
*
|
|
* Return: None
|
|
*/
|
|
static inline
|
|
void qdf_trace_dp_tx_comp_udp_pkt(qdf_nbuf_t nbuf, uint16_t ip_id,
|
|
uint16_t srcport, uint16_t dstport,
|
|
uint64_t latency)
|
|
{
|
|
__qdf_trace_dp_tx_comp_udp_pkt(nbuf, ip_id, srcport, dstport, latency);
|
|
}
|
|
|
|
/**
|
|
* qdf_trace_dp_rx_pkt_enabled() - Get the dp_rx_pkt tracepoint
|
|
* enabled or disabled state
|
|
*
|
|
* Return: True if the tracepoint is enabled else false
|
|
*/
|
|
static inline
|
|
bool qdf_trace_dp_rx_pkt_enabled(void)
|
|
{
|
|
return __qdf_trace_dp_rx_pkt_enabled();
|
|
}
|
|
|
|
/**
|
|
* qdf_trace_dp_rx_pkt() - Trace non-tcp/udp packet in rx direction
|
|
* @nbuf: pointer to network buffer
|
|
* @ether_type: type in ethernet header
|
|
* @latency: latency in milliseconds
|
|
*
|
|
* Return: None
|
|
*/
|
|
static inline
|
|
void qdf_trace_dp_rx_pkt(qdf_nbuf_t nbuf, uint16_t ether_type,
|
|
uint64_t latency)
|
|
{
|
|
__qdf_trace_dp_rx_pkt(nbuf, ether_type, latency);
|
|
}
|
|
|
|
/**
|
|
* qdf_trace_dp_tx_comp_pkt_enabled() - Get the dp_tx_comp_pkt tracepoint
|
|
* enabled or disabled state
|
|
*
|
|
* Return: True if the tracepoint is enabled else false
|
|
*/
|
|
static inline
|
|
bool qdf_trace_dp_tx_comp_pkt_enabled(void)
|
|
{
|
|
return __qdf_trace_dp_tx_comp_pkt_enabled();
|
|
}
|
|
|
|
/**
|
|
* qdf_trace_dp_tx_comp_pkt() - Trace non-tcp/udp packet in rx direction
|
|
* @nbuf: pointer to network buffer
|
|
* @ether_type: type in ethernet header
|
|
* @latency: latency in milliseconds
|
|
*
|
|
* Return: None
|
|
*/
|
|
static inline
|
|
void qdf_trace_dp_tx_comp_pkt(qdf_nbuf_t nbuf, uint16_t ether_type,
|
|
uint64_t latency)
|
|
{
|
|
__qdf_trace_dp_tx_comp_pkt(nbuf, ether_type, latency);
|
|
}
|
|
|
|
/**
|
|
* qdf_trace_dp_del_reg_write_enabled() - Get the dp_del_reg_write tracepoint
|
|
* enabled or disabled state
|
|
*
|
|
* Return: True if the tracepoint is enabled else false
|
|
*/
|
|
static inline
|
|
bool qdf_trace_dp_del_reg_write_enabled(void)
|
|
{
|
|
return __qdf_trace_dp_del_reg_write_enabled();
|
|
}
|
|
|
|
/**
|
|
* qdf_trace_dp_del_reg_write() - Trace delayed register writes
|
|
* @srng_id: srng id
|
|
* @enq_val: enqueue value
|
|
* @deq_val: dequeue value
|
|
* @enq_time: enqueue time in qtimer ticks
|
|
* @deq_time: dequeue time in qtimer ticks
|
|
*
|
|
* Return: None
|
|
*/
|
|
static inline
|
|
void qdf_trace_dp_del_reg_write(uint8_t srng_id, uint32_t enq_val,
|
|
uint32_t deq_val, uint64_t enq_time,
|
|
uint64_t deq_time)
|
|
{
|
|
__qdf_trace_dp_del_reg_write(srng_id, enq_val, deq_val, enq_time,
|
|
deq_time);
|
|
}
|
|
|
|
/**
|
|
* qdf_trace_dp_ce_tasklet_sched_latency_enabled() - Get the
|
|
* dp_ce_tasklet_sched_latency tracepoint enabled or disabled state
|
|
*
|
|
* Return: True if the tracepoint is enabled else false
|
|
*/
|
|
static inline
|
|
bool qdf_trace_dp_ce_tasklet_sched_latency_enabled(void)
|
|
{
|
|
return __qdf_trace_dp_ce_tasklet_sched_latency_enabled();
|
|
}
|
|
|
|
/**
|
|
* qdf_trace_dp_ce_tasklet_sched_latency() - Trace ce tasklet scheduling
|
|
* latency
|
|
* @ce_id: ce id
|
|
* @sched_latency: ce tasklet sched latency in nanoseconds
|
|
*
|
|
* Return: None
|
|
*/
|
|
static inline void
|
|
qdf_trace_dp_ce_tasklet_sched_latency(uint8_t ce_id, uint64_t sched_latency)
|
|
{
|
|
__qdf_trace_dp_ce_tasklet_sched_latency(ce_id, sched_latency);
|
|
}
|
|
#endif /* _QDF_TRACEPOINT_H */
|