Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

firewire: core: record card index in tracepoints event for self ID sequence

This patch is for for-next branch.

The selfIDComplete event occurs in the bus managed by one of 1394 OHCI
controller in Linux system, while the existing tracepoints events has
the lack of data about it to distinguish the issued hardware from the
others.

This commit adds card_index member into event structure to store the index
of host controller in use, and prints it.

Link: https://lore.kernel.org/r/20240614004251.460649-1-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>

+7 -4
+1 -1
drivers/firewire/core-topology.c
··· 140 140 } 141 141 142 142 port_capacity = self_id_sequence_get_port_capacity(quadlet_count); 143 - trace_self_id_sequence(self_id_sequence, quadlet_count, generation); 143 + trace_self_id_sequence(card->index, self_id_sequence, quadlet_count, generation); 144 144 145 145 for (port_index = 0; port_index < port_capacity; ++port_index) { 146 146 port_status = self_id_sequence_get_port_status(self_id_sequence, quadlet_count,
+6 -3
include/trace/events/firewire.h
··· 395 395 unsigned int quadlet_count); 396 396 397 397 TRACE_EVENT(self_id_sequence, 398 - TP_PROTO(const u32 *self_id_sequence, unsigned int quadlet_count, unsigned int generation), 399 - TP_ARGS(self_id_sequence, quadlet_count, generation), 398 + TP_PROTO(unsigned int card_index, const u32 *self_id_sequence, unsigned int quadlet_count, unsigned int generation), 399 + TP_ARGS(card_index, self_id_sequence, quadlet_count, generation), 400 400 TP_STRUCT__entry( 401 + __field(u8, card_index) 401 402 __field(u8, generation) 402 403 __dynamic_array(u8, port_status, self_id_sequence_get_port_capacity(quadlet_count)) 403 404 __dynamic_array(u32, self_id_sequence, quadlet_count) 404 405 ), 405 406 TP_fast_assign( 407 + __entry->card_index = card_index; 406 408 __entry->generation = generation; 407 409 copy_port_status(__get_dynamic_array(port_status), __get_dynamic_array_len(port_status), 408 410 self_id_sequence, quadlet_count); ··· 412 410 __get_dynamic_array_len(self_id_sequence)); 413 411 ), 414 412 TP_printk( 415 - "generation=%u phy_id=0x%02x link_active=%s gap_count=%u scode=%u contender=%s power_class=%u initiated_reset=%s port_status=%s self_id_sequence=%s", 413 + "card_index=%u generation=%u phy_id=0x%02x link_active=%s gap_count=%u scode=%u contender=%s power_class=%u initiated_reset=%s port_status=%s self_id_sequence=%s", 414 + __entry->card_index, 416 415 __entry->generation, 417 416 PHY_PACKET_SELF_ID_GET_PHY_ID(__get_dynamic_array(self_id_sequence)), 418 417 PHY_PACKET_SELF_ID_GET_LINK_ACTIVE(__get_dynamic_array(self_id_sequence)) ? "true" : "false",