firewire: core: record card index in async_phy_outbound_complete tracepoints event
The asynchronous transmission of phy packet is initiated on one of 1394 OHCI controller, however the existing tracepoints events has the lack of data about it. 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/20240613131440.431766-6-o-takashi@sakamocchi.jp Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
This commit is contained in:
parent
3cb44a72a3
commit
810f2aa835
@ -1559,7 +1559,7 @@ static void outbound_phy_packet_callback(struct fw_packet *packet,
|
|||||||
struct client *e_client = e->client;
|
struct client *e_client = e->client;
|
||||||
u32 rcode;
|
u32 rcode;
|
||||||
|
|
||||||
trace_async_phy_outbound_complete((uintptr_t)packet, status, packet->generation,
|
trace_async_phy_outbound_complete((uintptr_t)packet, card->index, status, packet->generation,
|
||||||
packet->timestamp);
|
packet->timestamp);
|
||||||
|
|
||||||
switch (status) {
|
switch (status) {
|
||||||
|
@ -464,7 +464,7 @@ static DECLARE_COMPLETION(phy_config_done);
|
|||||||
static void transmit_phy_packet_callback(struct fw_packet *packet,
|
static void transmit_phy_packet_callback(struct fw_packet *packet,
|
||||||
struct fw_card *card, int status)
|
struct fw_card *card, int status)
|
||||||
{
|
{
|
||||||
trace_async_phy_outbound_complete((uintptr_t)packet, packet->generation, status,
|
trace_async_phy_outbound_complete((uintptr_t)packet, card->index, packet->generation, status,
|
||||||
packet->timestamp);
|
packet->timestamp);
|
||||||
complete(&phy_config_done);
|
complete(&phy_config_done);
|
||||||
}
|
}
|
||||||
|
@ -244,23 +244,26 @@ TRACE_EVENT(async_phy_outbound_initiate,
|
|||||||
);
|
);
|
||||||
|
|
||||||
TRACE_EVENT(async_phy_outbound_complete,
|
TRACE_EVENT(async_phy_outbound_complete,
|
||||||
TP_PROTO(u64 packet, unsigned int generation, unsigned int status, unsigned int timestamp),
|
TP_PROTO(u64 packet, unsigned int card_index, unsigned int generation, unsigned int status, unsigned int timestamp),
|
||||||
TP_ARGS(packet, generation, status, timestamp),
|
TP_ARGS(packet, card_index, generation, status, timestamp),
|
||||||
TP_STRUCT__entry(
|
TP_STRUCT__entry(
|
||||||
__field(u64, packet)
|
__field(u64, packet)
|
||||||
|
__field(u8, card_index)
|
||||||
__field(u8, generation)
|
__field(u8, generation)
|
||||||
__field(u8, status)
|
__field(u8, status)
|
||||||
__field(u16, timestamp)
|
__field(u16, timestamp)
|
||||||
),
|
),
|
||||||
TP_fast_assign(
|
TP_fast_assign(
|
||||||
__entry->packet = packet;
|
__entry->packet = packet;
|
||||||
|
__entry->card_index = card_index;
|
||||||
__entry->generation = generation;
|
__entry->generation = generation;
|
||||||
__entry->status = status;
|
__entry->status = status;
|
||||||
__entry->timestamp = timestamp;
|
__entry->timestamp = timestamp;
|
||||||
),
|
),
|
||||||
TP_printk(
|
TP_printk(
|
||||||
"packet=0x%llx generation=%u status=%u timestamp=0x%04x",
|
"packet=0x%llx card_index=%u generation=%u status=%u timestamp=0x%04x",
|
||||||
__entry->packet,
|
__entry->packet,
|
||||||
|
__entry->card_index,
|
||||||
__entry->generation,
|
__entry->generation,
|
||||||
__entry->status,
|
__entry->status,
|
||||||
__entry->timestamp
|
__entry->timestamp
|
||||||
|
Loading…
Reference in New Issue
Block a user