firewire: ohci: add tracepoints event for data of Self-ID DMA
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Tue, 2 Jul 2024 22:20:34 +0000 (07:20 +0900)
committerTakashi Sakamoto <o-takashi@sakamocchi.jp>
Thu, 4 Jul 2024 00:07:14 +0000 (09:07 +0900)
commit526e21a2aa6fa7ac3309a8c87f4d6e5f7e407cb6
treebe4b5a48da57e79147ecd19d59c3a76597aaf38e
parent4a13617ef311cb01160bdecfa338e2148940059c
firewire: ohci: add tracepoints event for data of Self-ID DMA

In 1394 OHCI, the SelfIDComplete event occurs when the hardware has
finished transmitting all of the self ID packets received during the bus
initialization process to the host memory by DMA.

This commit adds a tracepoints event for this event to trace the timing
and packet data of Self-ID DMA. It is the part of following tracepoints
events helpful to debug some events at bus reset; e.g. the issue addressed
at a commit d0b06dc48fb1 ("firewire: core: use long bus reset on gap count
error")[1]:

* firewire_ohci:irqs
* firewire_ohci:self_id_complete
* firewire:bus_reset_handle
* firewire:self_id_sequence

They would be also helpful in the problem about invocation timing of
hardIRQ and process (workqueue) contexts. We can often see this kind of
problem with -rt kernel[2].

[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d0b06dc48fb1
[2] https://lore.kernel.org/linux-rt-users/YAwPoaUZ1gTD5y+k@hmbx/

Link: https://lore.kernel.org/r/20240702222034.1378764-6-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
drivers/firewire/ohci.c
include/trace/events/firewire_ohci.h