[PATCH 2/7] firewire: core: add tracepoints events for setting channels of multichannel context
Brought to you by:
aeb,
bencollins
From: Takashi S. <o-t...@sa...> - 2024-06-23 22:09:19
|
It is helpful to trace the channel setting for the multichannel isochronous context when the core function is requested it by both in-kernel unit drivers and userspace applications. This commit adds some tracepoints events for the aim. Signed-off-by: Takashi Sakamoto <o-t...@sa...> --- drivers/firewire/core-iso.c | 2 ++ include/trace/events/firewire.h | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/drivers/firewire/core-iso.c b/drivers/firewire/core-iso.c index ddb999297c72..7ec84de846e6 100644 --- a/drivers/firewire/core-iso.c +++ b/drivers/firewire/core-iso.c @@ -177,6 +177,8 @@ EXPORT_SYMBOL(fw_iso_context_start); int fw_iso_context_set_channels(struct fw_iso_context *ctx, u64 *channels) { + trace_isoc_inbound_multiple_channels(ctx, *channels); + return ctx->card->driver->set_iso_channels(ctx, channels); } diff --git a/include/trace/events/firewire.h b/include/trace/events/firewire.h index 0cca1ef841f3..0334e02f9d94 100644 --- a/include/trace/events/firewire.h +++ b/include/trace/events/firewire.h @@ -541,6 +541,27 @@ DEFINE_EVENT_CONDITION(isoc_destroy_template, isoc_inbound_multiple_destroy, TP_CONDITION(ctx->type == FW_ISO_CONTEXT_RECEIVE_MULTICHANNEL) ); +TRACE_EVENT(isoc_inbound_multiple_channels, + TP_PROTO(const struct fw_iso_context *ctx, u64 channels), + TP_ARGS(ctx, channels), + TP_STRUCT__entry( + __field(u64, context) + __field(u8, card_index) + __field(u64, channels) + ), + TP_fast_assign( + __entry->context = (uintptr_t)ctx; + __entry->card_index = ctx->card->index; + __entry->channels = channels; + ), + TP_printk( + "context=0x%llx card_index=%u channels=0x%016llx", + __entry->context, + __entry->card_index, + __entry->channels + ) +); + #undef QUADLET_SIZE #endif // _FIREWIRE_TRACE_EVENT_H -- 2.43.0 |