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

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

ALSA: hda - Add documentation for tracepoints



Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 2ae66c26
Loading
Loading
Loading
Loading
+47 −0
Original line number Diff line number Diff line
@@ -524,6 +524,53 @@ power-saving. See /sys/module/snd_hda_intel/parameters/power_save to
check the current value.  If it's non-zero, the feature is turned on.


Tracepoints
~~~~~~~~~~~
The hd-audio driver gives a few basic tracepoints.
`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).
`hda:hda_bus_reset` traces the bus-reset due to fatal error, etc, and
`hda:hda_power_down` and `hda:hda_power_up` trace the power down/up
via power-saving behavior.

Enabling all tracepoints can be done like
------------------------------------------------------------------------
  # echo 1 > /sys/kernel/debug/tracing/events/hda/enable
------------------------------------------------------------------------
then after some commands, you can traces from
/sys/kernel/debug/tracing/trace file.  For example, when you want to
trace what codec command is sent, enable the tracepoint like:
------------------------------------------------------------------------
  # cat /sys/kernel/debug/tracing/trace
  # tracer: nop
  #
  #       TASK-PID    CPU#    TIMESTAMP  FUNCTION
  #          | |       |          |         |
         <...>-7807  [002] 105147.774889: hda_send_cmd: [0:0] val=e3a019
         <...>-7807  [002] 105147.774893: hda_send_cmd: [0:0] val=e39019
         <...>-7807  [002] 105147.999542: hda_send_cmd: [0:0] val=e3a01a
         <...>-7807  [002] 105147.999543: hda_send_cmd: [0:0] val=e3901a
         <...>-26764 [001] 349222.837143: hda_send_cmd: [0:0] val=e3a019
         <...>-26764 [001] 349222.837148: hda_send_cmd: [0:0] val=e39019
         <...>-26764 [001] 349223.058539: hda_send_cmd: [0:0] val=e3a01a
         <...>-26764 [001] 349223.058541: hda_send_cmd: [0:0] val=e3901a
------------------------------------------------------------------------
Here `[0:0]` indicates the card number and the codec address, and
`val` shows the value sent to the codec, respectively.  The value is
a packed value, and you can decode it via hda-decode-verb program
included in hda-emu package below.  For example, the value e3a019 is
to set the left output-amp value to 25.
------------------------------------------------------------------------
  % hda-decode-verb 0xe3a019
  raw value = 0x00e3a019
  cid = 0, nid = 0x0e, verb = 0x3a0, parm = 0x19
  raw value: verb = 0x3a0, parm = 0x19
  verbname = set_amp_gain_mute
  amp raw val = 0xa019
  output, left, idx=0, mute=0, val=25
------------------------------------------------------------------------


Development Tree
~~~~~~~~~~~~~~~~
The latest development codes for HD-audio are found on sound git tree: