diff options
author | Takashi Iwai <tiwai@suse.de> | 2015-03-10 17:16:28 +0300 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2015-03-23 15:17:58 +0300 |
commit | e311782acd196d17d25b323d115709c50c8f7d3f (patch) | |
tree | afdc50298bdc5fe760bd7f501ce152bcc54b25af /sound/hda/hdac_bus.c | |
parent | c4c2533f802d6877803c4d778def43d8a122f27b (diff) | |
download | linux-e311782acd196d17d25b323d115709c50c8f7d3f.tar.xz |
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>
Diffstat (limited to 'sound/hda/hdac_bus.c')
-rw-r--r-- | sound/hda/hdac_bus.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sound/hda/hdac_bus.c b/sound/hda/hdac_bus.c index 364f64c0e4a3..8e262da74f6a 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 @@ int snd_hdac_bus_exec_verb_unlocked(struct hdac_bus *bus, unsigned int addr, 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 @@ int snd_hdac_bus_exec_verb_unlocked(struct hdac_bus *bus, unsigned int addr, 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 @@ void snd_hdac_bus_queue_event(struct hdac_bus *bus, u32 res, u32 res_ex) if (!bus) return; + trace_hda_unsol_event(bus, res, res_ex); wp = (bus->unsol_wp + 1) % HDA_UNSOL_QUEUE_SIZE; bus->unsol_wp = wp; |