Comment 12 for bug 1291616

Revision history for this message
Raymond (superquad-vortex2) wrote :

if the problem is still not fixed

you need to enable trace points to trace the hda_unsol_event which is triggered when you plug and unplug any jack

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,
`hda:hda_unsol_event` traces the unsolicited events, 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