1*05be28feSTakashi Iwai /* SPDX-License-Identifier: GPL-2.0 */ 2*05be28feSTakashi Iwai #undef TRACE_SYSTEM 3*05be28feSTakashi Iwai #define TRACE_SYSTEM hda_controller 4*05be28feSTakashi Iwai #define TRACE_INCLUDE_FILE controller_trace 5*05be28feSTakashi Iwai 6*05be28feSTakashi Iwai #if !defined(_TRACE_HDA_CONTROLLER_H) || defined(TRACE_HEADER_MULTI_READ) 7*05be28feSTakashi Iwai #define _TRACE_HDA_CONTROLLER_H 8*05be28feSTakashi Iwai 9*05be28feSTakashi Iwai #include <linux/tracepoint.h> 10*05be28feSTakashi Iwai 11*05be28feSTakashi Iwai struct azx; 12*05be28feSTakashi Iwai struct azx_dev; 13*05be28feSTakashi Iwai 14*05be28feSTakashi Iwai TRACE_EVENT(azx_pcm_trigger, 15*05be28feSTakashi Iwai 16*05be28feSTakashi Iwai TP_PROTO(struct azx *chip, struct azx_dev *dev, int cmd), 17*05be28feSTakashi Iwai 18*05be28feSTakashi Iwai TP_ARGS(chip, dev, cmd), 19*05be28feSTakashi Iwai 20*05be28feSTakashi Iwai TP_STRUCT__entry( 21*05be28feSTakashi Iwai __field( int, card ) 22*05be28feSTakashi Iwai __field( int, idx ) 23*05be28feSTakashi Iwai __field( int, cmd ) 24*05be28feSTakashi Iwai ), 25*05be28feSTakashi Iwai 26*05be28feSTakashi Iwai TP_fast_assign( 27*05be28feSTakashi Iwai __entry->card = (chip)->card->number; 28*05be28feSTakashi Iwai __entry->idx = (dev)->core.index; 29*05be28feSTakashi Iwai __entry->cmd = cmd; 30*05be28feSTakashi Iwai ), 31*05be28feSTakashi Iwai 32*05be28feSTakashi Iwai TP_printk("[%d:%d] cmd=%d", __entry->card, __entry->idx, __entry->cmd) 33*05be28feSTakashi Iwai ); 34*05be28feSTakashi Iwai 35*05be28feSTakashi Iwai TRACE_EVENT(azx_get_position, 36*05be28feSTakashi Iwai 37*05be28feSTakashi Iwai TP_PROTO(struct azx *chip, struct azx_dev *dev, unsigned int pos, unsigned int delay), 38*05be28feSTakashi Iwai 39*05be28feSTakashi Iwai TP_ARGS(chip, dev, pos, delay), 40*05be28feSTakashi Iwai 41*05be28feSTakashi Iwai TP_STRUCT__entry( 42*05be28feSTakashi Iwai __field( int, card ) 43*05be28feSTakashi Iwai __field( int, idx ) 44*05be28feSTakashi Iwai __field( unsigned int, pos ) 45*05be28feSTakashi Iwai __field( unsigned int, delay ) 46*05be28feSTakashi Iwai ), 47*05be28feSTakashi Iwai 48*05be28feSTakashi Iwai TP_fast_assign( 49*05be28feSTakashi Iwai __entry->card = (chip)->card->number; 50*05be28feSTakashi Iwai __entry->idx = (dev)->core.index; 51*05be28feSTakashi Iwai __entry->pos = pos; 52*05be28feSTakashi Iwai __entry->delay = delay; 53*05be28feSTakashi Iwai ), 54*05be28feSTakashi Iwai 55*05be28feSTakashi Iwai TP_printk("[%d:%d] pos=%u, delay=%u", __entry->card, __entry->idx, __entry->pos, __entry->delay) 56*05be28feSTakashi Iwai ); 57*05be28feSTakashi Iwai 58*05be28feSTakashi Iwai DECLARE_EVENT_CLASS(azx_pcm, 59*05be28feSTakashi Iwai TP_PROTO(struct azx *chip, struct azx_dev *azx_dev), 60*05be28feSTakashi Iwai 61*05be28feSTakashi Iwai TP_ARGS(chip, azx_dev), 62*05be28feSTakashi Iwai 63*05be28feSTakashi Iwai TP_STRUCT__entry( 64*05be28feSTakashi Iwai __field( unsigned char, stream_tag ) 65*05be28feSTakashi Iwai ), 66*05be28feSTakashi Iwai 67*05be28feSTakashi Iwai TP_fast_assign( 68*05be28feSTakashi Iwai __entry->stream_tag = (azx_dev)->core.stream_tag; 69*05be28feSTakashi Iwai ), 70*05be28feSTakashi Iwai 71*05be28feSTakashi Iwai TP_printk("stream_tag: %d", __entry->stream_tag) 72*05be28feSTakashi Iwai ); 73*05be28feSTakashi Iwai 74*05be28feSTakashi Iwai DEFINE_EVENT(azx_pcm, azx_pcm_open, 75*05be28feSTakashi Iwai TP_PROTO(struct azx *chip, struct azx_dev *azx_dev), 76*05be28feSTakashi Iwai TP_ARGS(chip, azx_dev) 77*05be28feSTakashi Iwai ); 78*05be28feSTakashi Iwai 79*05be28feSTakashi Iwai DEFINE_EVENT(azx_pcm, azx_pcm_close, 80*05be28feSTakashi Iwai TP_PROTO(struct azx *chip, struct azx_dev *azx_dev), 81*05be28feSTakashi Iwai TP_ARGS(chip, azx_dev) 82*05be28feSTakashi Iwai ); 83*05be28feSTakashi Iwai 84*05be28feSTakashi Iwai DEFINE_EVENT(azx_pcm, azx_pcm_hw_params, 85*05be28feSTakashi Iwai TP_PROTO(struct azx *chip, struct azx_dev *azx_dev), 86*05be28feSTakashi Iwai TP_ARGS(chip, azx_dev) 87*05be28feSTakashi Iwai ); 88*05be28feSTakashi Iwai 89*05be28feSTakashi Iwai DEFINE_EVENT(azx_pcm, azx_pcm_prepare, 90*05be28feSTakashi Iwai TP_PROTO(struct azx *chip, struct azx_dev *azx_dev), 91*05be28feSTakashi Iwai TP_ARGS(chip, azx_dev) 92*05be28feSTakashi Iwai ); 93*05be28feSTakashi Iwai 94*05be28feSTakashi Iwai #endif /* _TRACE_HDA_CONTROLLER_H */ 95*05be28feSTakashi Iwai 96*05be28feSTakashi Iwai /* This part must be outside protection */ 97*05be28feSTakashi Iwai #undef TRACE_INCLUDE_PATH 98*05be28feSTakashi Iwai #define TRACE_INCLUDE_PATH . 99*05be28feSTakashi Iwai #include <trace/define_trace.h> 100