• Takashi Sakamoto's avatar
    firewire: core/cdev: add tracepoints events for asynchronous phy packet · 1a4c53cf
    Takashi Sakamoto authored
    In IEEE 1394 bus, the type of asynchronous packet without any offset to
    node address space is called as phy packet. The destination of packet is
    IEEE 1394 phy itself. This type of packet is used for several purposes,
    mainly for selfID at the state of bus reset, to force selection of root
    node, and to adjust gap count.
    
    This commit adds tracepoints events for the type of asynchronous outbound
    packet. Like asynchronous outbound transaction packets, a pair of events
    are added to trace initiation and completion of transmission.
    
    In the case that the phy packet is sent by kernel API, the match between
    the initiation and completion is not so easy, since the data of
    'struct fw_packet' is allocated statically. In the case that it is sent by
    userspace applications via cdev, the match is easy, since the data is
    allocated per each.
    
    This example is for Remote Access Packet by lsfirewirephy command in
    linux-firewire-utils:
    
    async_phy_outbound_initiate: \
      packet=0xffff89fb34e42e78 generation=1 first_quadlet=0x00148200 \
      second_quadlet=0xffeb7dff
    async_phy_outbound_complete: \
      packet=0xffff89fb34e42e78 generation=1 status=1 timestamp=0x0619
    
    Link: https://lore.kernel.org/r/20240430001404.734657-2-o-takashi@sakamocchi.jpSigned-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
    1a4c53cf
core-cdev.c 49.1 KB