Merge branch 'fix/hda' into for-linus
[safe/jmp/linux-2.6] / Documentation / sound / alsa / Procfile.txt
index 25c5d64..07301de 100644 (file)
@@ -71,7 +71,7 @@ The status of MIDI I/O is found in midi* files.  It shows the device
 name and the received/transmitted bytes through the MIDI device.
 
 When the card is equipped with AC97 codecs, there are codec97#*
-subdirectories (desribed later).
+subdirectories (described later).
 
 When the OSS mixer emulation is enabled (and the module is loaded),
 oss_mixer file appears here, too.  This shows the current mapping of
@@ -88,21 +88,39 @@ card*/pcm*/info
        substreams, etc.
 
 card*/pcm*/xrun_debug
-       This file appears when CONFIG_SND_DEBUG=y.
-       This shows the status of xrun (= buffer overrun/xrun) debug of
-       ALSA PCM middle layer, as an integer from 0 to 2.  The value
-       can be changed by writing to this file, such as
+       This file appears when CONFIG_SND_DEBUG=y and
+       CONFIG_PCM_XRUN_DEBUG=y.
+       This shows the status of xrun (= buffer overrun/xrun) and
+       invalid PCM position debug/check of ALSA PCM middle layer.
+       It takes an integer value, can be changed by writing to this
+       file, such as
+
+                # echo 5 > /proc/asound/card0/pcm0p/xrun_debug
+
+       The value consists of the following bit flags:
+         bit 0 = Enable XRUN/jiffies debug messages
+         bit 1 = Show stack trace at XRUN / jiffies check
+         bit 2 = Enable additional jiffies check
+         bit 3 = Log hwptr update at each period interrupt
+         bit 4 = Log hwptr update at each snd_pcm_update_hw_ptr()
+
+       When the bit 0 is set, the driver will show the messages to
+       kernel log when an xrun is detected.  The debug message is
+       shown also when the invalid H/W pointer is detected at the
+       update of periods (usually called from the interrupt
+       handler).
 
-                # cat 2 > /proc/asound/card0/pcm0p/xrun_debug
+       When the bit 1 is set, the driver will show the stack trace
+       additionally.  This may help the debugging.
 
-       When this value is greater than 0, the driver will show the
-       messages to kernel log when an xrun is detected.  The debug
-       message is shown also when the invalid H/W pointer is detected
-       at the update of periods (usually called from the interrupt
-       handler).
+       Since 2.6.30, this option can enable the hwptr check using
+       jiffies.  This detects spontaneous invalid pointer callback
+       values, but can be lead to too much corrections for a (mostly
+       buggy) hardware that doesn't give smooth pointer updates.
+       This feature is enabled via the bit 2.
 
-       When this value is greater than 1, the driver will show the
-       stack trace additionally.  This may help the debugging.
+       Bits 3 and 4 are for logging the hwptr records.  Note that
+       these will give flood of kernel messages.
 
 card*/pcm*/sub*/info
        The general information of this PCM sub-stream.
@@ -138,6 +156,32 @@ card*/codec97#0/ac97#?-?+regs
        # echo 02 9f1f > /proc/asound/card0/codec97#0/ac97#0-0+regs
 
 
+USB Audio Streams
+-----------------
+
+card*/stream*
+       Shows the assignment and the current status of each audio stream
+       of the given card.  This information is very useful for debugging.
+
+
+HD-Audio Codecs
+---------------
+
+card*/codec#*
+       Shows the general codec information and the attribute of each
+       widget node.
+
+card*/eld#*
+       Available for HDMI or DisplayPort interfaces.
+       Shows ELD(EDID Like Data) info retrieved from the attached HDMI sink,
+       and describes its audio capabilities and configurations.
+
+       Some ELD fields may be modified by doing `echo name hex_value > eld#*`.
+       Only do this if you are sure the HDMI sink provided value is wrong.
+       And if that makes your HDMI audio work, please report to us so that we
+       can fix it in future kernel releases.
+
+
 Sequencer Information
 ---------------------
 
@@ -145,12 +189,12 @@ seq/drivers
        Lists the currently available ALSA sequencer drivers.
 
 seq/clients
-       Shows the list of currently available sequencer clinets and
+       Shows the list of currently available sequencer clients and
        ports.  The connection status and the running status are shown
        in this file, too.
 
 seq/queues
-       Lists the currently allocated/running sequener queues.
+       Lists the currently allocated/running sequencer queues.
 
 seq/timer
        Lists the currently allocated/running sequencer timers.
@@ -166,10 +210,10 @@ When the problem is related with PCM, first try to turn on xrun_debug
 mode.  This will give you the kernel messages when and where xrun
 happened.
 
-If it's really a bug, report it with the following information
+If it's really a bug, report it with the following information:
 
   - the name of the driver/card, show in /proc/asound/cards
-  - the reigster dump, if available (e.g. card*/cmipci)
+  - the register dump, if available (e.g. card*/cmipci)
 
 when it's a PCM problem,