ALSA: hda - Re-add tracepoints to HD-audio core driver
Now let's take the basic tracepoints back to the HD-audio driver.
The three bus tracepoints, hda_send_cmd, hda_get_response and
hda_unsol_event are revived but in a slightly different form.
Since we don't assign the card number there, print the bus device name
instead.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
diff --git a/sound/hda/hdac_bus.c b/sound/hda/hdac_bus.c
index 364f64c..8e262da 100644
--- a/sound/hda/hdac_bus.c
+++ b/sound/hda/hdac_bus.c
@@ -7,6 +7,7 @@
#include <linux/module.h>
#include <linux/export.h>
#include <sound/hdaudio.h>
+#include "trace.h"
static void process_unsol_events(struct work_struct *work);
@@ -82,6 +83,7 @@
else if (bus->sync_write)
res = &tmp;
for (;;) {
+ trace_hda_send_cmd(bus, cmd);
err = bus->ops->command(bus, cmd);
if (err != -EAGAIN)
break;
@@ -90,8 +92,10 @@
if (err)
break;
}
- if (!err && res)
+ if (!err && res) {
err = bus->ops->get_response(bus, addr, res);
+ trace_hda_get_response(bus, addr, *res);
+ }
return err;
}
EXPORT_SYMBOL_GPL(snd_hdac_bus_exec_verb_unlocked);
@@ -113,6 +117,7 @@
if (!bus)
return;
+ trace_hda_unsol_event(bus, res, res_ex);
wp = (bus->unsol_wp + 1) % HDA_UNSOL_QUEUE_SIZE;
bus->unsol_wp = wp;