diff options
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/sound/alsa/ALSA-Configuration.txt | 4 | ||||
-rw-r--r-- | Documentation/sound/alsa/HD-Audio.txt | 60 |
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 | ||
406 | Early Patching | ||
407 | ~~~~~~~~~~~~~~ | ||
408 | When CONFIG_SND_HDA_PATCH_LOADER=y is set, you can pass a "patch" as a | ||
409 | firmware file for modifying the HD-audio setup before initializing the | ||
410 | codec. This can work basically like the reconfiguration via sysfs in | ||
411 | the above, but it does it before the first codec configuration. | ||
412 | |||
413 | A 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 | |||
433 | The file needs to have a line `[codec]`. The next line should contain | ||
434 | three numbers indicating the codec vendor-id (0x12345678 in the | ||
435 | example), the codec subsystem-id (0xabcd1234) and the address (2) of | ||
436 | the codec. The rest patch entries are applied to this specified codec | ||
437 | until another codec entry is given. | ||
438 | |||
439 | The `[model]` line allows to change the model name of the each codec. | ||
440 | In the example above, it will be changed to model=auto. | ||
441 | Note that this overrides the module option. | ||
442 | |||
443 | After the `[pincfg]` line, the contents are parsed as the initial | ||
444 | default pin-configurations just like `user_pin_configs` sysfs above. | ||
445 | The values can be shown in user_pin_configs sysfs file, too. | ||
446 | |||
447 | Similarly, the lines after `[verb]` are parsed as `init_verbs` | ||
448 | sysfs entries, and the lines after `[hint]` are parsed as `hints` | ||
449 | sysfs entries, respectively. | ||
450 | |||
451 | The hd-audio driver reads the file via request_firmware(). Thus, | ||
452 | a patch file has to be located on the appropriate firmware path, | ||
453 | typically, /lib/firmware. For example, when you pass the option | ||
454 | `patch=hda-init.fw`, the file /lib/firmware/hda-init-fw must be | ||
455 | present. | ||
456 | |||
457 | The patch module option is specific to each card instance, and you | ||
458 | need to give one file name for each instance, separated by commas. | ||
459 | For example, if you have two cards, one for an on-board analog and one | ||
460 | for 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 | |||
406 | Power-Saving | 466 | Power-Saving |
407 | ~~~~~~~~~~~~ | 467 | ~~~~~~~~~~~~ |
408 | The power-saving is a kind of auto-suspend of the device. When the | 468 | The power-saving is a kind of auto-suspend of the device. When the |