X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;ds=sidebyside;f=instrumentation%2Fevents%2Flttng-module%2Fasoc.h;h=4aca115cb960e1532c2b1dcd635847b78346f985;hb=3bc29f0a41b3c803245b845db2e1909042e72e9c;hp=cb9e701b2aea5b03d8442a33582233ed7a78d146;hpb=b283666ff19841a28b0448c6a867beb2f809f11a;p=lttng-modules.git diff --git a/instrumentation/events/lttng-module/asoc.h b/instrumentation/events/lttng-module/asoc.h index cb9e701b..4aca115c 100644 --- a/instrumentation/events/lttng-module/asoc.h +++ b/instrumentation/events/lttng-module/asoc.h @@ -1,13 +1,15 @@ #undef TRACE_SYSTEM #define TRACE_SYSTEM asoc -#if !defined(_TRACE_ASOC_H) || defined(TRACE_HEADER_MULTI_READ) -#define _TRACE_ASOC_H +#if !defined(LTTNG_TRACE_ASOC_H) || defined(TRACE_HEADER_MULTI_READ) +#define LTTNG_TRACE_ASOC_H +#include "../../../probes/lttng-tracepoint-event.h" #include -#include #include +#define DAPM_DIRECT "(direct)" + #ifndef _TRACE_ASOC_DEF #define _TRACE_ASOC_DEF struct snd_soc_jack; @@ -19,10 +21,18 @@ struct snd_soc_card; struct snd_soc_dapm_widget; #endif +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0)) +#define CODEC_NAME_FIELD component.name +#define CODEC_ID_FIELD component.id +#else +#define CODEC_NAME_FIELD name +#define CODEC_ID_FIELD id +#endif + /* * Log register events */ -DECLARE_EVENT_CLASS(snd_soc_reg, +LTTNG_TRACEPOINT_EVENT_CLASS(snd_soc_reg, TP_PROTO(struct snd_soc_codec *codec, unsigned int reg, unsigned int val), @@ -30,17 +40,17 @@ DECLARE_EVENT_CLASS(snd_soc_reg, TP_ARGS(codec, reg, val), TP_STRUCT__entry( - __string( name, codec->name ) + __string( name, codec->CODEC_NAME_FIELD ) __field( int, id ) __field( unsigned int, reg ) __field( unsigned int, val ) ), TP_fast_assign( - tp_strcpy(name, codec->name); - tp_assign(id, codec->id); - tp_assign(reg, reg); - tp_assign(val, val); + tp_strcpy(name, codec->CODEC_NAME_FIELD) + tp_assign(id, codec->CODEC_ID_FIELD) + tp_assign(reg, reg) + tp_assign(val, val) ), TP_printk("codec=%s.%d reg=%x val=%x", __get_str(name), @@ -48,7 +58,7 @@ DECLARE_EVENT_CLASS(snd_soc_reg, (unsigned int)__entry->val) ) -DEFINE_EVENT(snd_soc_reg, snd_soc_reg_write, +LTTNG_TRACEPOINT_EVENT_INSTANCE(snd_soc_reg, snd_soc_reg_write, TP_PROTO(struct snd_soc_codec *codec, unsigned int reg, unsigned int val), @@ -57,7 +67,7 @@ DEFINE_EVENT(snd_soc_reg, snd_soc_reg_write, ) -DEFINE_EVENT(snd_soc_reg, snd_soc_reg_read, +LTTNG_TRACEPOINT_EVENT_INSTANCE(snd_soc_reg, snd_soc_reg_read, TP_PROTO(struct snd_soc_codec *codec, unsigned int reg, unsigned int val), @@ -67,7 +77,7 @@ DEFINE_EVENT(snd_soc_reg, snd_soc_reg_read, ) #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0)) -DECLARE_EVENT_CLASS(snd_soc_preg, +LTTNG_TRACEPOINT_EVENT_CLASS(snd_soc_preg, TP_PROTO(struct snd_soc_platform *platform, unsigned int reg, unsigned int val), @@ -75,17 +85,17 @@ DECLARE_EVENT_CLASS(snd_soc_preg, TP_ARGS(platform, reg, val), TP_STRUCT__entry( - __string( name, platform->name ) + __string( name, platform->CODEC_NAME_FIELD ) __field( int, id ) __field( unsigned int, reg ) __field( unsigned int, val ) ), TP_fast_assign( - tp_strcpy(name, platform->name); - tp_assign(id, platform->id); - tp_assign(reg, reg); - tp_assign(val, val); + tp_strcpy(name, platform->CODEC_NAME_FIELD) + tp_assign(id, platform->CODEC_ID_FIELD) + tp_assign(reg, reg) + tp_assign(val, val) ), TP_printk("platform=%s.%d reg=%x val=%x", __get_str(name), @@ -93,7 +103,7 @@ DECLARE_EVENT_CLASS(snd_soc_preg, (unsigned int)__entry->val) ) -DEFINE_EVENT(snd_soc_preg, snd_soc_preg_write, +LTTNG_TRACEPOINT_EVENT_INSTANCE(snd_soc_preg, snd_soc_preg_write, TP_PROTO(struct snd_soc_platform *platform, unsigned int reg, unsigned int val), @@ -102,7 +112,7 @@ DEFINE_EVENT(snd_soc_preg, snd_soc_preg_write, ) -DEFINE_EVENT(snd_soc_preg, snd_soc_preg_read, +LTTNG_TRACEPOINT_EVENT_INSTANCE(snd_soc_preg, snd_soc_preg_read, TP_PROTO(struct snd_soc_platform *platform, unsigned int reg, unsigned int val), @@ -112,7 +122,7 @@ DEFINE_EVENT(snd_soc_preg, snd_soc_preg_read, ) #endif -DECLARE_EVENT_CLASS(snd_soc_card, +LTTNG_TRACEPOINT_EVENT_CLASS(snd_soc_card, TP_PROTO(struct snd_soc_card *card, int val), @@ -124,14 +134,14 @@ DECLARE_EVENT_CLASS(snd_soc_card, ), TP_fast_assign( - tp_strcpy(name, card->name); - tp_assign(val, val); + tp_strcpy(name, card->name) + tp_assign(val, val) ), TP_printk("card=%s val=%d", __get_str(name), (int)__entry->val) ) -DEFINE_EVENT(snd_soc_card, snd_soc_bias_level_start, +LTTNG_TRACEPOINT_EVENT_INSTANCE(snd_soc_card, snd_soc_bias_level_start, TP_PROTO(struct snd_soc_card *card, int val), @@ -139,7 +149,7 @@ DEFINE_EVENT(snd_soc_card, snd_soc_bias_level_start, ) -DEFINE_EVENT(snd_soc_card, snd_soc_bias_level_done, +LTTNG_TRACEPOINT_EVENT_INSTANCE(snd_soc_card, snd_soc_bias_level_done, TP_PROTO(struct snd_soc_card *card, int val), @@ -147,7 +157,7 @@ DEFINE_EVENT(snd_soc_card, snd_soc_bias_level_done, ) -DECLARE_EVENT_CLASS(snd_soc_dapm_basic, +LTTNG_TRACEPOINT_EVENT_CLASS(snd_soc_dapm_basic, TP_PROTO(struct snd_soc_card *card), @@ -158,13 +168,13 @@ DECLARE_EVENT_CLASS(snd_soc_dapm_basic, ), TP_fast_assign( - tp_strcpy(name, card->name); + tp_strcpy(name, card->name) ), TP_printk("card=%s", __get_str(name)) ) -DEFINE_EVENT(snd_soc_dapm_basic, snd_soc_dapm_start, +LTTNG_TRACEPOINT_EVENT_INSTANCE(snd_soc_dapm_basic, snd_soc_dapm_start, TP_PROTO(struct snd_soc_card *card), @@ -172,7 +182,7 @@ DEFINE_EVENT(snd_soc_dapm_basic, snd_soc_dapm_start, ) -DEFINE_EVENT(snd_soc_dapm_basic, snd_soc_dapm_done, +LTTNG_TRACEPOINT_EVENT_INSTANCE(snd_soc_dapm_basic, snd_soc_dapm_done, TP_PROTO(struct snd_soc_card *card), @@ -180,7 +190,7 @@ DEFINE_EVENT(snd_soc_dapm_basic, snd_soc_dapm_done, ) -DECLARE_EVENT_CLASS(snd_soc_dapm_widget, +LTTNG_TRACEPOINT_EVENT_CLASS(snd_soc_dapm_widget, TP_PROTO(struct snd_soc_dapm_widget *w, int val), @@ -192,15 +202,15 @@ DECLARE_EVENT_CLASS(snd_soc_dapm_widget, ), TP_fast_assign( - tp_strcpy(name, w->name); - tp_assign(val, val); + tp_strcpy(name, w->name) + tp_assign(val, val) ), TP_printk("widget=%s val=%d", __get_str(name), (int)__entry->val) ) -DEFINE_EVENT(snd_soc_dapm_widget, snd_soc_dapm_widget_power, +LTTNG_TRACEPOINT_EVENT_INSTANCE(snd_soc_dapm_widget, snd_soc_dapm_widget_power, TP_PROTO(struct snd_soc_dapm_widget *w, int val), @@ -208,7 +218,7 @@ DEFINE_EVENT(snd_soc_dapm_widget, snd_soc_dapm_widget_power, ) -DEFINE_EVENT(snd_soc_dapm_widget, snd_soc_dapm_widget_event_start, +LTTNG_TRACEPOINT_EVENT_INSTANCE(snd_soc_dapm_widget, snd_soc_dapm_widget_event_start, TP_PROTO(struct snd_soc_dapm_widget *w, int val), @@ -216,7 +226,7 @@ DEFINE_EVENT(snd_soc_dapm_widget, snd_soc_dapm_widget_event_start, ) -DEFINE_EVENT(snd_soc_dapm_widget, snd_soc_dapm_widget_event_done, +LTTNG_TRACEPOINT_EVENT_INSTANCE(snd_soc_dapm_widget, snd_soc_dapm_widget_event_done, TP_PROTO(struct snd_soc_dapm_widget *w, int val), @@ -225,7 +235,7 @@ DEFINE_EVENT(snd_soc_dapm_widget, snd_soc_dapm_widget_event_done, ) #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0)) -TRACE_EVENT(snd_soc_dapm_walk_done, +LTTNG_TRACEPOINT_EVENT(snd_soc_dapm_walk_done, TP_PROTO(struct snd_soc_card *card), @@ -239,10 +249,10 @@ TRACE_EVENT(snd_soc_dapm_walk_done, ), TP_fast_assign( - tp_strcpy(name, card->name); - tp_assign(power_checks, card->dapm_stats.power_checks); - tp_assign(path_checks, card->dapm_stats.path_checks); - tp_assign(neighbour_checks, card->dapm_stats.neighbour_checks); + tp_strcpy(name, card->name) + tp_assign(power_checks, card->dapm_stats.power_checks) + tp_assign(path_checks, card->dapm_stats.path_checks) + tp_assign(neighbour_checks, card->dapm_stats.neighbour_checks) ), TP_printk("%s: checks %d power, %d path, %d neighbour", @@ -251,7 +261,87 @@ TRACE_EVENT(snd_soc_dapm_walk_done, ) #endif -TRACE_EVENT(snd_soc_jack_irq, +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)) +LTTNG_TRACEPOINT_EVENT(snd_soc_dapm_output_path, + + TP_PROTO(struct snd_soc_dapm_widget *widget, + struct snd_soc_dapm_path *path), + + TP_ARGS(widget, path), + + TP_STRUCT__entry( + __string( wname, widget->name ) + __string( pname, path->name ? path->name : DAPM_DIRECT) + __string( psname, path->sink->name ) + __field( int, path_sink ) + __field( int, path_connect ) + ), + + TP_fast_assign( + tp_strcpy(wname, widget->name) + tp_strcpy(pname, path->name ? path->name : DAPM_DIRECT) + tp_strcpy(psname, path->sink->name) + tp_assign(path_connect, path->connect) + tp_assign(path_sink, (long)path->sink) + ), + + TP_printk("%c%s -> %s -> %s\n", + (int) __entry->path_sink && + (int) __entry->path_connect ? '*' : ' ', + __get_str(wname), __get_str(pname), __get_str(psname)) +) + +LTTNG_TRACEPOINT_EVENT(snd_soc_dapm_input_path, + + TP_PROTO(struct snd_soc_dapm_widget *widget, + struct snd_soc_dapm_path *path), + + TP_ARGS(widget, path), + + TP_STRUCT__entry( + __string( wname, widget->name ) + __string( pname, path->name ? path->name : DAPM_DIRECT) + __string( psname, path->source->name ) + __field( int, path_source ) + __field( int, path_connect ) + ), + + TP_fast_assign( + tp_strcpy(wname, widget->name) + tp_strcpy(pname, path->name ? path->name : DAPM_DIRECT) + tp_strcpy(psname, path->source->name) + tp_assign(path_connect, path->connect) + tp_assign(path_source, (long)path->source) + ), + + TP_printk("%c%s <- %s <- %s\n", + (int) __entry->path_source && + (int) __entry->path_connect ? '*' : ' ', + __get_str(wname), __get_str(pname), __get_str(psname)) +) + +LTTNG_TRACEPOINT_EVENT(snd_soc_dapm_connected, + + TP_PROTO(int paths, int stream), + + TP_ARGS(paths, stream), + + TP_STRUCT__entry( + __field( int, paths ) + __field( int, stream ) + ), + + TP_fast_assign( + tp_assign(paths, paths) + tp_assign(stream, stream) + ), + + TP_printk("%s: found %d paths\n", + __entry->stream ? "capture" : "playback", __entry->paths) +) +#endif + +LTTNG_TRACEPOINT_EVENT(snd_soc_jack_irq, TP_PROTO(const char *name), @@ -262,13 +352,13 @@ TRACE_EVENT(snd_soc_jack_irq, ), TP_fast_assign( - tp_strcpy(name, name); + tp_strcpy(name, name) ), TP_printk("%s", __get_str(name)) ) -TRACE_EVENT(snd_soc_jack_report, +LTTNG_TRACEPOINT_EVENT(snd_soc_jack_report, TP_PROTO(struct snd_soc_jack *jack, int mask, int val), @@ -281,16 +371,16 @@ TRACE_EVENT(snd_soc_jack_report, ), TP_fast_assign( - tp_strcpy(name, jack->jack->name); - tp_assign(mask, mask); - tp_assign(val, val); + tp_strcpy(name, jack->jack->name) + tp_assign(mask, mask) + tp_assign(val, val) ), TP_printk("jack=%s %x/%x", __get_str(name), (int)__entry->val, (int)__entry->mask) ) -TRACE_EVENT(snd_soc_jack_notify, +LTTNG_TRACEPOINT_EVENT(snd_soc_jack_notify, TP_PROTO(struct snd_soc_jack *jack, int val), @@ -302,14 +392,14 @@ TRACE_EVENT(snd_soc_jack_notify, ), TP_fast_assign( - tp_strcpy(name, jack->jack->name); - tp_assign(val, val); + tp_strcpy(name, jack->jack->name) + tp_assign(val, val) ), TP_printk("jack=%s %x", __get_str(name), (int)__entry->val) ) -TRACE_EVENT(snd_soc_cache_sync, +LTTNG_TRACEPOINT_EVENT(snd_soc_cache_sync, TP_PROTO(struct snd_soc_codec *codec, const char *type, const char *status), @@ -317,24 +407,24 @@ TRACE_EVENT(snd_soc_cache_sync, TP_ARGS(codec, type, status), TP_STRUCT__entry( - __string( name, codec->name ) + __string( name, codec->CODEC_NAME_FIELD ) __string( status, status ) __string( type, type ) __field( int, id ) ), TP_fast_assign( - tp_strcpy(name, codec->name); - tp_strcpy(status, status); - tp_strcpy(type, type); - tp_assign(id, codec->id); + tp_strcpy(name, codec->CODEC_NAME_FIELD) + tp_strcpy(status, status) + tp_strcpy(type, type) + tp_assign(id, codec->CODEC_ID_FIELD) ), TP_printk("codec=%s.%d type=%s status=%s", __get_str(name), (int)__entry->id, __get_str(type), __get_str(status)) ) -#endif /* _TRACE_ASOC_H */ +#endif /* LTTNG_TRACE_ASOC_H */ /* This part must be outside protection */ #include "../../../probes/define_trace.h"