aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/sound/alsa/HD-Audio.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/sound/alsa/HD-Audio.txt')
-rw-r--r--Documentation/sound/alsa/HD-Audio.txt47
1 files changed, 42 insertions, 5 deletions
diff --git a/Documentation/sound/alsa/HD-Audio.txt b/Documentation/sound/alsa/HD-Audio.txt
index 6325bec06a72..bdafdbd32561 100644
--- a/Documentation/sound/alsa/HD-Audio.txt
+++ b/Documentation/sound/alsa/HD-Audio.txt
@@ -119,10 +119,18 @@ the codec slots 0 and 1 no matter what the hardware reports.
119 119
120Interrupt Handling 120Interrupt Handling
121~~~~~~~~~~~~~~~~~~ 121~~~~~~~~~~~~~~~~~~
122In rare but some cases, the interrupt isn't properly handled as 122HD-audio driver uses MSI as default (if available) since 2.6.33
123default. You would notice this by the DMA transfer error reported by 123kernel as MSI works better on some machines, and in general, it's
124ALSA PCM core, for example. Using MSI might help in such a case. 124better for performance. However, Nvidia controllers showed bad
125Pass `enable_msi=1` option for enabling MSI. 125regressions with MSI (especially in a combination with AMD chipset),
126thus we disabled MSI for them.
127
128There seem also still other devices that don't work with MSI. If you
129see a regression wrt the sound quality (stuttering, etc) or a lock-up
130in the recent kernel, try to pass `enable_msi=0` option to disable
131MSI. If it works, you can add the known bad device to the blacklist
132defined in hda_intel.c. In such a case, please report and give the
133patch back to the upstream developer.
126 134
127 135
128HD-AUDIO CODEC 136HD-AUDIO CODEC
@@ -196,7 +204,6 @@ generic parser regardless of the codec. Usually the codec-specific
196parser is much better than the generic parser (as now). Thus this 204parser is much better than the generic parser (as now). Thus this
197option is more about the debugging purpose. 205option is more about the debugging purpose.
198 206
199
200Speaker and Headphone Output 207Speaker and Headphone Output
201~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 208~~~~~~~~~~~~~~~~~~~~~~~~~~~~
202One of the most frequent (and obvious) bugs with HD-audio is the 209One of the most frequent (and obvious) bugs with HD-audio is the
@@ -452,6 +459,33 @@ Similarly, the lines after `[verb]` are parsed as `init_verbs`
452sysfs entries, and the lines after `[hint]` are parsed as `hints` 459sysfs entries, and the lines after `[hint]` are parsed as `hints`
453sysfs entries, respectively. 460sysfs entries, respectively.
454 461
462Another example to override the codec vendor id from 0x12345678 to
4630xdeadbeef is like below:
464------------------------------------------------------------------------
465 [codec]
466 0x12345678 0xabcd1234 2
467
468 [vendor_id]
469 0xdeadbeef
470------------------------------------------------------------------------
471
472In the similar way, you can override the codec subsystem_id via
473`[subsystem_id]`, the revision id via `[revision_id]` line.
474Also, the codec chip name can be rewritten via `[chip_name]` line.
475------------------------------------------------------------------------
476 [codec]
477 0x12345678 0xabcd1234 2
478
479 [subsystem_id]
480 0xffff1111
481
482 [revision_id]
483 0x10
484
485 [chip_name]
486 My-own NEWS-0002
487------------------------------------------------------------------------
488
455The hd-audio driver reads the file via request_firmware(). Thus, 489The hd-audio driver reads the file via request_firmware(). Thus,
456a patch file has to be located on the appropriate firmware path, 490a patch file has to be located on the appropriate firmware path,
457typically, /lib/firmware. For example, when you pass the option 491typically, /lib/firmware. For example, when you pass the option
@@ -565,6 +599,9 @@ probing, the proc file is available, so you can get the raw codec
565information before modified by the driver. Of course, the driver 599information before modified by the driver. Of course, the driver
566isn't usable with `probe_only=1`. But you can continue the 600isn't usable with `probe_only=1`. But you can continue the
567configuration via hwdep sysfs file if hda-reconfig option is enabled. 601configuration via hwdep sysfs file if hda-reconfig option is enabled.
602Using `probe_only` mask 2 skips the reset of HDA codecs (use
603`probe_only=3` as module option). The hwdep interface can be used
604to determine the BIOS codec initialization.
568 605
569 606
570hda-verb 607hda-verb