Commit 9f16ac72 authored by Takashi Sakamoto's avatar Takashi Sakamoto

firewire: core: add tracepoints events for setting channels of multichannel context

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.

Link: https://lore.kernel.org/r/20240623220859.851685-3-o-takashi@sakamocchi.jpSigned-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
parent 25e6e00d
......@@ -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);
}
......
......@@ -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
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment