aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/sound
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2009-06-30 09:29:38 -0400
committerTakashi Iwai <tiwai@suse.de>2009-06-30 09:29:38 -0400
commitb9791ca013cfe344052455e9c8336e39d133c654 (patch)
tree530091e9c2ea488c1ddf4f81575917ca5b3f1446 /Documentation/sound
parent546861f1d3372d69d22e6624f51227d7d10c83f4 (diff)
parent1e7b8c87cb53d9a14f1a9ef35eed739f68851f5c (diff)
Merge branch 'topic/hda-patch' into topic/hda
Diffstat (limited to 'Documentation/sound')
-rw-r--r--Documentation/sound/alsa/ALSA-Configuration.txt4
-rw-r--r--Documentation/sound/alsa/HD-Audio.txt60
2 files changed, 64 insertions, 0 deletions
diff --git a/Documentation/sound/alsa/ALSA-Configuration.txt b/Documentation/sound/alsa/ALSA-Configuration.txt
index 4252697a95d6..f9d11140af91 100644
--- a/Documentation/sound/alsa/ALSA-Configuration.txt
+++ b/Documentation/sound/alsa/ALSA-Configuration.txt
@@ -768,6 +768,10 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
768 bdl_pos_adj - Specifies the DMA IRQ timing delay in samples. 768 bdl_pos_adj - Specifies the DMA IRQ timing delay in samples.
769 Passing -1 will make the driver to choose the appropriate 769 Passing -1 will make the driver to choose the appropriate
770 value based on the controller chip. 770 value based on the controller chip.
771 patch - Specifies the early "patch" files to modify the HD-audio
772 setup before initializing the codecs. This option is
773 available only when CONFIG_SND_HDA_PATCH_LOADER=y is set.
774 See HD-Audio.txt for details.
771 775
772 [Single (global) options] 776 [Single (global) options]
773 single_cmd - Use single immediate commands to communicate with 777 single_cmd - Use single immediate commands to communicate with
diff --git a/Documentation/sound/alsa/HD-Audio.txt b/Documentation/sound/alsa/HD-Audio.txt
index 71ac995b1915..0b5b480708f8 100644
--- a/Documentation/sound/alsa/HD-Audio.txt
+++ b/Documentation/sound/alsa/HD-Audio.txt
@@ -403,6 +403,66 @@ re-configure based on that state, run like below:
403------------------------------------------------------------------------ 403------------------------------------------------------------------------
404 404
405 405
406Early Patching
407~~~~~~~~~~~~~~
408When CONFIG_SND_HDA_PATCH_LOADER=y is set, you can pass a "patch" as a
409firmware file for modifying the HD-audio setup before initializing the
410codec. This can work basically like the reconfiguration via sysfs in
411the above, but it does it before the first codec configuration.
412
413A patch file is a plain text file which looks like below:
414
415------------------------------------------------------------------------
416 [codec]
417 0x12345678 0xabcd1234 2
418
419 [model]
420 auto
421
422 [pincfg]
423 0x12 0x411111f0
424
425 [verb]
426 0x20 0x500 0x03
427 0x20 0x400 0xff
428
429 [hint]
430 hp_detect = yes
431------------------------------------------------------------------------
432
433The file needs to have a line `[codec]`. The next line should contain
434three numbers indicating the codec vendor-id (0x12345678 in the
435example), the codec subsystem-id (0xabcd1234) and the address (2) of
436the codec. The rest patch entries are applied to this specified codec
437until another codec entry is given.
438
439The `[model]` line allows to change the model name of the each codec.
440In the example above, it will be changed to model=auto.
441Note that this overrides the module option.
442
443After the `[pincfg]` line, the contents are parsed as the initial
444default pin-configurations just like `user_pin_configs` sysfs above.
445The values can be shown in user_pin_configs sysfs file, too.
446
447Similarly, the lines after `[verb]` are parsed as `init_verbs`
448sysfs entries, and the lines after `[hint]` are parsed as `hints`
449sysfs entries, respectively.
450
451The hd-audio driver reads the file via request_firmware(). Thus,
452a patch file has to be located on the appropriate firmware path,
453typically, /lib/firmware. For example, when you pass the option
454`patch=hda-init.fw`, the file /lib/firmware/hda-init-fw must be
455present.
456
457The patch module option is specific to each card instance, and you
458need to give one file name for each instance, separated by commas.
459For example, if you have two cards, one for an on-board analog and one
460for an HDMI video board, you may pass patch option like below:
461------------------------------------------------------------------------
462 options snd-hda-intel patch=on-board-patch,hdmi-patch
463------------------------------------------------------------------------
464
465
406Power-Saving 466Power-Saving
407~~~~~~~~~~~~ 467~~~~~~~~~~~~
408The power-saving is a kind of auto-suspend of the device. When the 468The power-saving is a kind of auto-suspend of the device. When the