199a2dd95SBruce Richardson /* SPDX-License-Identifier: BSD-3-Clause 299a2dd95SBruce Richardson * Copyright(C) 2020 Marvell International Ltd. 399a2dd95SBruce Richardson */ 499a2dd95SBruce Richardson 599a2dd95SBruce Richardson #ifndef _RTE_ETHDEV_TRACE_H_ 699a2dd95SBruce Richardson #define _RTE_ETHDEV_TRACE_H_ 799a2dd95SBruce Richardson 899a2dd95SBruce Richardson /** 999a2dd95SBruce Richardson * @file 1099a2dd95SBruce Richardson * 1199a2dd95SBruce Richardson * API for ethdev trace support 1299a2dd95SBruce Richardson */ 1399a2dd95SBruce Richardson 1499a2dd95SBruce Richardson #ifdef __cplusplus 1599a2dd95SBruce Richardson extern "C" { 1699a2dd95SBruce Richardson #endif 1799a2dd95SBruce Richardson 1899a2dd95SBruce Richardson #include <rte_trace_point.h> 1999a2dd95SBruce Richardson 2099a2dd95SBruce Richardson #include "rte_ethdev.h" 2199a2dd95SBruce Richardson 2299a2dd95SBruce Richardson RTE_TRACE_POINT( 2399a2dd95SBruce Richardson rte_ethdev_trace_configure, 2499a2dd95SBruce Richardson RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t nb_rx_q, 2599a2dd95SBruce Richardson uint16_t nb_tx_q, const struct rte_eth_conf *dev_conf, int rc), 2699a2dd95SBruce Richardson rte_trace_point_emit_u16(port_id); 2799a2dd95SBruce Richardson rte_trace_point_emit_u16(nb_rx_q); 2899a2dd95SBruce Richardson rte_trace_point_emit_u16(nb_tx_q); 2999a2dd95SBruce Richardson rte_trace_point_emit_u32(dev_conf->link_speeds); 3099a2dd95SBruce Richardson rte_trace_point_emit_u32(dev_conf->rxmode.mq_mode); 31*1bb4a528SFerruh Yigit rte_trace_point_emit_u32(dev_conf->rxmode.mtu); 3299a2dd95SBruce Richardson rte_trace_point_emit_u64(dev_conf->rxmode.offloads); 3399a2dd95SBruce Richardson rte_trace_point_emit_u32(dev_conf->txmode.mq_mode); 3499a2dd95SBruce Richardson rte_trace_point_emit_u64(dev_conf->txmode.offloads); 3599a2dd95SBruce Richardson rte_trace_point_emit_u32(dev_conf->lpbk_mode); 3699a2dd95SBruce Richardson rte_trace_point_emit_int(rc); 3799a2dd95SBruce Richardson ) 3899a2dd95SBruce Richardson 3999a2dd95SBruce Richardson RTE_TRACE_POINT( 4099a2dd95SBruce Richardson rte_ethdev_trace_rxq_setup, 4199a2dd95SBruce Richardson RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t rx_queue_id, 4299a2dd95SBruce Richardson uint16_t nb_rx_desc, void *mp, 4399a2dd95SBruce Richardson const struct rte_eth_rxconf *rx_conf, int rc), 4499a2dd95SBruce Richardson rte_trace_point_emit_u16(port_id); 4599a2dd95SBruce Richardson rte_trace_point_emit_u16(rx_queue_id); 4699a2dd95SBruce Richardson rte_trace_point_emit_u16(nb_rx_desc); 4799a2dd95SBruce Richardson rte_trace_point_emit_ptr(mp); 4899a2dd95SBruce Richardson rte_trace_point_emit_u8(rx_conf->rx_thresh.pthresh); 4999a2dd95SBruce Richardson rte_trace_point_emit_u8(rx_conf->rx_thresh.hthresh); 5099a2dd95SBruce Richardson rte_trace_point_emit_u8(rx_conf->rx_thresh.wthresh); 5199a2dd95SBruce Richardson rte_trace_point_emit_u8(rx_conf->rx_drop_en); 5299a2dd95SBruce Richardson rte_trace_point_emit_u8(rx_conf->rx_deferred_start); 5399a2dd95SBruce Richardson rte_trace_point_emit_u64(rx_conf->offloads); 5499a2dd95SBruce Richardson rte_trace_point_emit_int(rc); 5599a2dd95SBruce Richardson ) 5699a2dd95SBruce Richardson 5799a2dd95SBruce Richardson RTE_TRACE_POINT( 5899a2dd95SBruce Richardson rte_ethdev_trace_txq_setup, 5999a2dd95SBruce Richardson RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t tx_queue_id, 6099a2dd95SBruce Richardson uint16_t nb_tx_desc, const struct rte_eth_txconf *tx_conf), 6199a2dd95SBruce Richardson rte_trace_point_emit_u16(port_id); 6299a2dd95SBruce Richardson rte_trace_point_emit_u16(tx_queue_id); 6399a2dd95SBruce Richardson rte_trace_point_emit_u16(nb_tx_desc); 6499a2dd95SBruce Richardson rte_trace_point_emit_u8(tx_conf->tx_thresh.pthresh); 6599a2dd95SBruce Richardson rte_trace_point_emit_u8(tx_conf->tx_thresh.hthresh); 6699a2dd95SBruce Richardson rte_trace_point_emit_u8(tx_conf->tx_thresh.wthresh); 6799a2dd95SBruce Richardson rte_trace_point_emit_u8(tx_conf->tx_deferred_start); 6899a2dd95SBruce Richardson rte_trace_point_emit_u16(tx_conf->tx_free_thresh); 6999a2dd95SBruce Richardson rte_trace_point_emit_u64(tx_conf->offloads); 7099a2dd95SBruce Richardson ) 7199a2dd95SBruce Richardson 7299a2dd95SBruce Richardson RTE_TRACE_POINT( 7399a2dd95SBruce Richardson rte_ethdev_trace_start, 7499a2dd95SBruce Richardson RTE_TRACE_POINT_ARGS(uint16_t port_id), 7599a2dd95SBruce Richardson rte_trace_point_emit_u16(port_id); 7699a2dd95SBruce Richardson ) 7799a2dd95SBruce Richardson 7899a2dd95SBruce Richardson RTE_TRACE_POINT( 7999a2dd95SBruce Richardson rte_ethdev_trace_stop, 8099a2dd95SBruce Richardson RTE_TRACE_POINT_ARGS(uint16_t port_id, int ret), 8199a2dd95SBruce Richardson rte_trace_point_emit_u16(port_id); 8299a2dd95SBruce Richardson rte_trace_point_emit_int(ret); 8399a2dd95SBruce Richardson ) 8499a2dd95SBruce Richardson 8599a2dd95SBruce Richardson RTE_TRACE_POINT( 8699a2dd95SBruce Richardson rte_ethdev_trace_close, 8799a2dd95SBruce Richardson RTE_TRACE_POINT_ARGS(uint16_t port_id), 8899a2dd95SBruce Richardson rte_trace_point_emit_u16(port_id); 8999a2dd95SBruce Richardson ) 9099a2dd95SBruce Richardson 9199a2dd95SBruce Richardson #ifdef __cplusplus 9299a2dd95SBruce Richardson } 9399a2dd95SBruce Richardson #endif 9499a2dd95SBruce Richardson 9599a2dd95SBruce Richardson #endif /* _RTE_ETHDEV_TRACE_H_ */ 96