Commit ecf726f5 authored by Takashi Iwai's avatar Takashi Iwai

ALSA: hda - Add tracepoint for unsolicited events

Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent d11b7fa3
...@@ -529,7 +529,8 @@ Tracepoints ...@@ -529,7 +529,8 @@ Tracepoints
The hd-audio driver gives a few basic tracepoints. The hd-audio driver gives a few basic tracepoints.
`hda:hda_send_cmd` traces each CORB write while `hda:hda_get_response` `hda:hda_send_cmd` traces each CORB write while `hda:hda_get_response`
traces the response from RIRB (only when read from the codec driver). traces the response from RIRB (only when read from the codec driver).
`hda:hda_bus_reset` traces the bus-reset due to fatal error, etc, and `hda:hda_bus_reset` traces the bus-reset due to fatal error, etc,
`hda:hda_unsol_event` traces the unsolicited events, and
`hda:hda_power_down` and `hda:hda_power_up` trace the power down/up `hda:hda_power_down` and `hda:hda_power_up` trace the power down/up
via power-saving behavior. via power-saving behavior.
......
...@@ -610,6 +610,7 @@ int snd_hda_queue_unsol_event(struct hda_bus *bus, u32 res, u32 res_ex) ...@@ -610,6 +610,7 @@ int snd_hda_queue_unsol_event(struct hda_bus *bus, u32 res, u32 res_ex)
struct hda_bus_unsolicited *unsol; struct hda_bus_unsolicited *unsol;
unsigned int wp; unsigned int wp;
trace_hda_unsol_event(bus, res, res_ex);
unsol = bus->unsol; unsol = bus->unsol;
if (!unsol) if (!unsol)
return 0; return 0;
......
...@@ -87,6 +87,28 @@ DEFINE_EVENT(hda_power, hda_power_up, ...@@ -87,6 +87,28 @@ DEFINE_EVENT(hda_power, hda_power_up,
TP_ARGS(codec) TP_ARGS(codec)
); );
TRACE_EVENT(hda_unsol_event,
TP_PROTO(struct hda_bus *bus, u32 res, u32 res_ex),
TP_ARGS(bus, res, res_ex),
TP_STRUCT__entry(
__field( unsigned int, card )
__field( u32, res )
__field( u32, res_ex )
),
TP_fast_assign(
__entry->card = (bus)->card->number;
__entry->res = res;
__entry->res_ex = res_ex;
),
TP_printk("[%d] res=%x, res_ex=%x", __entry->card,
__entry->res, __entry->res_ex)
);
#endif /* _TRACE_HDA_H */ #endif /* _TRACE_HDA_H */
/* This part must be outside protection */ /* This part must be outside protection */
......
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