aboutsummaryrefslogtreecommitdiffstats
path: root/sound/hda/hdac_bus.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2015-03-10 10:16:28 -0400
committerTakashi Iwai <tiwai@suse.de>2015-03-23 08:17:58 -0400
commite311782acd196d17d25b323d115709c50c8f7d3f (patch)
treeafdc50298bdc5fe760bd7f501ce152bcc54b25af /sound/hda/hdac_bus.c
parentc4c2533f802d6877803c4d778def43d8a122f27b (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.c7
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
11static void process_unsol_events(struct work_struct *work); 12static 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}
97EXPORT_SYMBOL_GPL(snd_hdac_bus_exec_verb_unlocked); 101EXPORT_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