diff options
author | Takashi Iwai <tiwai@suse.de> | 2015-03-10 10:16:28 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2015-03-23 08:17:58 -0400 |
commit | e311782acd196d17d25b323d115709c50c8f7d3f (patch) | |
tree | afdc50298bdc5fe760bd7f501ce152bcc54b25af /sound/hda/hdac_bus.c | |
parent | c4c2533f802d6877803c4d778def43d8a122f27b (diff) |
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 @@ | |||
7 | #include <linux/module.h> | 7 | #include <linux/module.h> |
8 | #include <linux/export.h> | 8 | #include <linux/export.h> |
9 | #include <sound/hdaudio.h> | 9 | #include <sound/hdaudio.h> |
10 | #include "trace.h" | ||
10 | 11 | ||
11 | static void process_unsol_events(struct work_struct *work); | 12 | static void process_unsol_events(struct work_struct *work); |
12 | 13 | ||
@@ -82,6 +83,7 @@ int snd_hdac_bus_exec_verb_unlocked(struct hdac_bus *bus, unsigned int addr, | |||
82 | else if (bus->sync_write) | 83 | else if (bus->sync_write) |
83 | res = &tmp; | 84 | res = &tmp; |
84 | for (;;) { | 85 | for (;;) { |
86 | trace_hda_send_cmd(bus, cmd); | ||
85 | err = bus->ops->command(bus, cmd); | 87 | err = bus->ops->command(bus, cmd); |
86 | if (err != -EAGAIN) | 88 | if (err != -EAGAIN) |
87 | break; | 89 | break; |
@@ -90,8 +92,10 @@ int snd_hdac_bus_exec_verb_unlocked(struct hdac_bus *bus, unsigned int addr, | |||
90 | if (err) | 92 | if (err) |
91 | break; | 93 | break; |
92 | } | 94 | } |
93 | if (!err && res) | 95 | if (!err && res) { |
94 | err = bus->ops->get_response(bus, addr, res); | 96 | err = bus->ops->get_response(bus, addr, res); |
97 | trace_hda_get_response(bus, addr, *res); | ||
98 | } | ||
95 | return err; | 99 | return err; |
96 | } | 100 | } |
97 | EXPORT_SYMBOL_GPL(snd_hdac_bus_exec_verb_unlocked); | 101 | 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) | |||
113 | if (!bus) | 117 | if (!bus) |
114 | return; | 118 | return; |
115 | 119 | ||
120 | trace_hda_unsol_event(bus, res, res_ex); | ||
116 | wp = (bus->unsol_wp + 1) % HDA_UNSOL_QUEUE_SIZE; | 121 | wp = (bus->unsol_wp + 1) % HDA_UNSOL_QUEUE_SIZE; |
117 | bus->unsol_wp = wp; | 122 | bus->unsol_wp = wp; |
118 | 123 | ||