1*2d9fd380Sjfb8856606 /* SPDX-License-Identifier: BSD-3-Clause 2*2d9fd380Sjfb8856606 * Copyright(C) 2020 Marvell International Ltd. 3*2d9fd380Sjfb8856606 */ 4*2d9fd380Sjfb8856606 5*2d9fd380Sjfb8856606 #ifndef _RTE_ETHDEV_TRACE_H_ 6*2d9fd380Sjfb8856606 #define _RTE_ETHDEV_TRACE_H_ 7*2d9fd380Sjfb8856606 8*2d9fd380Sjfb8856606 /** 9*2d9fd380Sjfb8856606 * @file 10*2d9fd380Sjfb8856606 * 11*2d9fd380Sjfb8856606 * API for ethdev trace support 12*2d9fd380Sjfb8856606 */ 13*2d9fd380Sjfb8856606 14*2d9fd380Sjfb8856606 #ifdef __cplusplus 15*2d9fd380Sjfb8856606 extern "C" { 16*2d9fd380Sjfb8856606 #endif 17*2d9fd380Sjfb8856606 18*2d9fd380Sjfb8856606 #include <rte_trace_point.h> 19*2d9fd380Sjfb8856606 20*2d9fd380Sjfb8856606 #include "rte_ethdev.h" 21*2d9fd380Sjfb8856606 22*2d9fd380Sjfb8856606 RTE_TRACE_POINT( 23*2d9fd380Sjfb8856606 rte_ethdev_trace_configure, 24*2d9fd380Sjfb8856606 RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t nb_rx_q, 25*2d9fd380Sjfb8856606 uint16_t nb_tx_q, const struct rte_eth_conf *dev_conf, int rc), 26*2d9fd380Sjfb8856606 rte_trace_point_emit_u16(port_id); 27*2d9fd380Sjfb8856606 rte_trace_point_emit_u16(nb_rx_q); 28*2d9fd380Sjfb8856606 rte_trace_point_emit_u16(nb_tx_q); 29*2d9fd380Sjfb8856606 rte_trace_point_emit_u32(dev_conf->link_speeds); 30*2d9fd380Sjfb8856606 rte_trace_point_emit_u32(dev_conf->rxmode.mq_mode); 31*2d9fd380Sjfb8856606 rte_trace_point_emit_u32(dev_conf->rxmode.max_rx_pkt_len); 32*2d9fd380Sjfb8856606 rte_trace_point_emit_u64(dev_conf->rxmode.offloads); 33*2d9fd380Sjfb8856606 rte_trace_point_emit_u32(dev_conf->txmode.mq_mode); 34*2d9fd380Sjfb8856606 rte_trace_point_emit_u64(dev_conf->txmode.offloads); 35*2d9fd380Sjfb8856606 rte_trace_point_emit_u32(dev_conf->lpbk_mode); 36*2d9fd380Sjfb8856606 rte_trace_point_emit_int(rc); 37*2d9fd380Sjfb8856606 ) 38*2d9fd380Sjfb8856606 39*2d9fd380Sjfb8856606 RTE_TRACE_POINT( 40*2d9fd380Sjfb8856606 rte_ethdev_trace_rxq_setup, 41*2d9fd380Sjfb8856606 RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t rx_queue_id, 42*2d9fd380Sjfb8856606 uint16_t nb_rx_desc, void *mp, 43*2d9fd380Sjfb8856606 const struct rte_eth_rxconf *rx_conf, int rc), 44*2d9fd380Sjfb8856606 rte_trace_point_emit_u16(port_id); 45*2d9fd380Sjfb8856606 rte_trace_point_emit_u16(rx_queue_id); 46*2d9fd380Sjfb8856606 rte_trace_point_emit_u16(nb_rx_desc); 47*2d9fd380Sjfb8856606 rte_trace_point_emit_ptr(mp); 48*2d9fd380Sjfb8856606 rte_trace_point_emit_u8(rx_conf->rx_thresh.pthresh); 49*2d9fd380Sjfb8856606 rte_trace_point_emit_u8(rx_conf->rx_thresh.hthresh); 50*2d9fd380Sjfb8856606 rte_trace_point_emit_u8(rx_conf->rx_thresh.wthresh); 51*2d9fd380Sjfb8856606 rte_trace_point_emit_u8(rx_conf->rx_drop_en); 52*2d9fd380Sjfb8856606 rte_trace_point_emit_u8(rx_conf->rx_deferred_start); 53*2d9fd380Sjfb8856606 rte_trace_point_emit_u64(rx_conf->offloads); 54*2d9fd380Sjfb8856606 rte_trace_point_emit_int(rc); 55*2d9fd380Sjfb8856606 ) 56*2d9fd380Sjfb8856606 57*2d9fd380Sjfb8856606 RTE_TRACE_POINT( 58*2d9fd380Sjfb8856606 rte_ethdev_trace_txq_setup, 59*2d9fd380Sjfb8856606 RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t tx_queue_id, 60*2d9fd380Sjfb8856606 uint16_t nb_tx_desc, const struct rte_eth_txconf *tx_conf), 61*2d9fd380Sjfb8856606 rte_trace_point_emit_u16(port_id); 62*2d9fd380Sjfb8856606 rte_trace_point_emit_u16(tx_queue_id); 63*2d9fd380Sjfb8856606 rte_trace_point_emit_u16(nb_tx_desc); 64*2d9fd380Sjfb8856606 rte_trace_point_emit_u8(tx_conf->tx_thresh.pthresh); 65*2d9fd380Sjfb8856606 rte_trace_point_emit_u8(tx_conf->tx_thresh.hthresh); 66*2d9fd380Sjfb8856606 rte_trace_point_emit_u8(tx_conf->tx_thresh.wthresh); 67*2d9fd380Sjfb8856606 rte_trace_point_emit_u8(tx_conf->tx_deferred_start); 68*2d9fd380Sjfb8856606 rte_trace_point_emit_u16(tx_conf->tx_free_thresh); 69*2d9fd380Sjfb8856606 rte_trace_point_emit_u64(tx_conf->offloads); 70*2d9fd380Sjfb8856606 ) 71*2d9fd380Sjfb8856606 72*2d9fd380Sjfb8856606 RTE_TRACE_POINT( 73*2d9fd380Sjfb8856606 rte_ethdev_trace_start, 74*2d9fd380Sjfb8856606 RTE_TRACE_POINT_ARGS(uint16_t port_id), 75*2d9fd380Sjfb8856606 rte_trace_point_emit_u16(port_id); 76*2d9fd380Sjfb8856606 ) 77*2d9fd380Sjfb8856606 78*2d9fd380Sjfb8856606 RTE_TRACE_POINT( 79*2d9fd380Sjfb8856606 rte_ethdev_trace_stop, 80*2d9fd380Sjfb8856606 RTE_TRACE_POINT_ARGS(uint16_t port_id, int ret), 81*2d9fd380Sjfb8856606 rte_trace_point_emit_u16(port_id); 82*2d9fd380Sjfb8856606 rte_trace_point_emit_int(ret); 83*2d9fd380Sjfb8856606 ) 84*2d9fd380Sjfb8856606 85*2d9fd380Sjfb8856606 RTE_TRACE_POINT( 86*2d9fd380Sjfb8856606 rte_ethdev_trace_close, 87*2d9fd380Sjfb8856606 RTE_TRACE_POINT_ARGS(uint16_t port_id), 88*2d9fd380Sjfb8856606 rte_trace_point_emit_u16(port_id); 89*2d9fd380Sjfb8856606 ) 90*2d9fd380Sjfb8856606 91*2d9fd380Sjfb8856606 #ifdef __cplusplus 92*2d9fd380Sjfb8856606 } 93*2d9fd380Sjfb8856606 #endif 94*2d9fd380Sjfb8856606 95*2d9fd380Sjfb8856606 #endif /* _RTE_ETHDEV_TRACE_H_ */ 96