Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ecf726f5 authored by Takashi Iwai's avatar Takashi Iwai
Browse files

ALSA: hda - Add tracepoint for unsolicited events



Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent d11b7fa3
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -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.


+1 −0
Original line number Original line Diff line number Diff line
@@ -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;
+22 −0
Original line number Original line Diff line number Diff line
@@ -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 */