diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-10-28 17:25:01 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-10-28 17:25:01 -0400 |
commit | 68d99b2c8efcb6ed3807a55569300c53b5f88be5 (patch) | |
tree | f189c8f2132d3668a2f0e503f5c3f8695b26a1c8 /Documentation/sound | |
parent | 0e59e7e7feb5a12938fbf9135147eeda3238c6c4 (diff) | |
parent | 8128c9f21509f9a8b6da94ac432d845dda458406 (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (549 commits)
ALSA: hda - Fix ADC input-amp handling for Cx20549 codec
ALSA: hda - Keep EAPD turned on for old Conexant chips
ALSA: hda/realtek - Fix missing volume controls with ALC260
ASoC: wm8940: Properly set codec->dapm.bias_level
ALSA: hda - Fix pin-config for ASUS W90V
ALSA: hda - Fix surround/CLFE headphone and speaker pins order
ALSA: hda - Fix typo
ALSA: Update the sound git tree URL
ALSA: HDA: Add new revision for ALC662
ASoC: max98095: Convert codec->hw_write to snd_soc_write
ASoC: keep pointer to resource so it can be freed
ASoC: sgtl5000: Fix wrong mask in some snd_soc_update_bits calls
ASoC: wm8996: Fix wrong mask for setting WM8996_AIF_CLOCKING_2
ASoC: da7210: Add support for line out and DAC
ASoC: da7210: Add support for DAPM
ALSA: hda/realtek - Fix DAC assignments of multiple speakers
ASoC: Use SGTL5000_LINREG_VDDD_MASK instead of hardcoded mask value
ASoC: Set sgtl5000->ldo in ldo_regulator_register
ASoC: wm8996: Use SND_SOC_DAPM_AIF_OUT for AIF2 Capture
ASoC: wm8994: Use SND_SOC_DAPM_AIF_OUT for AIF3 Capture
...
Diffstat (limited to 'Documentation/sound')
-rw-r--r-- | Documentation/sound/alsa/ALSA-Configuration.txt | 6 | ||||
-rw-r--r-- | Documentation/sound/alsa/HD-Audio-Controls.txt | 16 | ||||
-rw-r--r-- | Documentation/sound/alsa/HD-Audio-Models.txt | 67 | ||||
-rw-r--r-- | Documentation/sound/alsa/HD-Audio.txt | 55 |
4 files changed, 79 insertions, 65 deletions
diff --git a/Documentation/sound/alsa/ALSA-Configuration.txt b/Documentation/sound/alsa/ALSA-Configuration.txt index 89757012c7ff..936699e4f04b 100644 --- a/Documentation/sound/alsa/ALSA-Configuration.txt +++ b/Documentation/sound/alsa/ALSA-Configuration.txt | |||
@@ -886,6 +886,12 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. | |||
886 | disable) | 886 | disable) |
887 | power_save_controller - Reset HD-audio controller in power-saving mode | 887 | power_save_controller - Reset HD-audio controller in power-saving mode |
888 | (default = on) | 888 | (default = on) |
889 | align_buffer_size - Force rounding of buffer/period sizes to multiples | ||
890 | of 128 bytes. This is more efficient in terms of memory | ||
891 | access but isn't required by the HDA spec and prevents | ||
892 | users from specifying exact period/buffer sizes. | ||
893 | (default = on) | ||
894 | snoop - Enable/disable snooping (default = on) | ||
889 | 895 | ||
890 | This module supports multiple cards and autoprobe. | 896 | This module supports multiple cards and autoprobe. |
891 | 897 | ||
diff --git a/Documentation/sound/alsa/HD-Audio-Controls.txt b/Documentation/sound/alsa/HD-Audio-Controls.txt index 1482035243e6..e9621e349e17 100644 --- a/Documentation/sound/alsa/HD-Audio-Controls.txt +++ b/Documentation/sound/alsa/HD-Audio-Controls.txt | |||
@@ -98,3 +98,19 @@ Conexant codecs | |||
98 | 98 | ||
99 | * Auto-Mute Mode | 99 | * Auto-Mute Mode |
100 | See Reatek codecs. | 100 | See Reatek codecs. |
101 | |||
102 | |||
103 | Analog codecs | ||
104 | -------------- | ||
105 | |||
106 | * Channel Mode | ||
107 | This is an enum control to change the surround-channel setup, | ||
108 | appears only when the surround channels are available. | ||
109 | It gives the number of channels to be used, "2ch", "4ch" and "6ch". | ||
110 | According to the configuration, this also controls the | ||
111 | jack-retasking of multi-I/O jacks. | ||
112 | |||
113 | * Independent HP | ||
114 | When this enum control is enabled, the headphone output is routed | ||
115 | from an individual stream (the third PCM such as hw:0,2) instead of | ||
116 | the primary stream. | ||
diff --git a/Documentation/sound/alsa/HD-Audio-Models.txt b/Documentation/sound/alsa/HD-Audio-Models.txt index d70c93bdcadf..4f3443230d89 100644 --- a/Documentation/sound/alsa/HD-Audio-Models.txt +++ b/Documentation/sound/alsa/HD-Audio-Models.txt | |||
@@ -29,9 +29,6 @@ ALC880 | |||
29 | 29 | ||
30 | ALC260 | 30 | ALC260 |
31 | ====== | 31 | ====== |
32 | hp HP machines | ||
33 | hp-3013 HP machines (3013-variant) | ||
34 | hp-dc7600 HP DC7600 | ||
35 | fujitsu Fujitsu S7020 | 32 | fujitsu Fujitsu S7020 |
36 | acer Acer TravelMate | 33 | acer Acer TravelMate |
37 | will Will laptops (PB V7900) | 34 | will Will laptops (PB V7900) |
@@ -46,15 +43,10 @@ ALC260 | |||
46 | ALC262 | 43 | ALC262 |
47 | ====== | 44 | ====== |
48 | fujitsu Fujitsu Laptop | 45 | fujitsu Fujitsu Laptop |
49 | hp-bpc HP xw4400/6400/8400/9400 laptops | ||
50 | hp-bpc-d7000 HP BPC D7000 | ||
51 | hp-tc-t5735 HP Thin Client T5735 | ||
52 | hp-rp5700 HP RP5700 | ||
53 | benq Benq ED8 | 46 | benq Benq ED8 |
54 | benq-t31 Benq T31 | 47 | benq-t31 Benq T31 |
55 | hippo Hippo (ATI) with jack detection, Sony UX-90s | 48 | hippo Hippo (ATI) with jack detection, Sony UX-90s |
56 | hippo_1 Hippo (Benq) with jack detection | 49 | hippo_1 Hippo (Benq) with jack detection |
57 | sony-assamd Sony ASSAMD | ||
58 | toshiba-s06 Toshiba S06 | 50 | toshiba-s06 Toshiba S06 |
59 | toshiba-rx1 Toshiba RX1 | 51 | toshiba-rx1 Toshiba RX1 |
60 | tyan Tyan Thunder n6650W (S2915-E) | 52 | tyan Tyan Thunder n6650W (S2915-E) |
@@ -66,43 +58,15 @@ ALC262 | |||
66 | 58 | ||
67 | ALC267/268 | 59 | ALC267/268 |
68 | ========== | 60 | ========== |
69 | quanta-il1 Quanta IL1 mini-notebook | 61 | N/A |
70 | 3stack 3-stack model | ||
71 | toshiba Toshiba A205 | ||
72 | acer Acer laptops | ||
73 | acer-dmic Acer laptops with digital-mic | ||
74 | acer-aspire Acer Aspire One | ||
75 | dell Dell OEM laptops (Vostro 1200) | ||
76 | zepto Zepto laptops | ||
77 | test for testing/debugging purpose, almost all controls can | ||
78 | adjusted. Appearing only when compiled with | ||
79 | $CONFIG_SND_DEBUG=y | ||
80 | auto auto-config reading BIOS (default) | ||
81 | 62 | ||
82 | ALC269 | 63 | ALC269 |
83 | ====== | 64 | ====== |
84 | basic Basic preset | ||
85 | quanta Quanta FL1 | ||
86 | laptop-amic Laptops with analog-mic input | 65 | laptop-amic Laptops with analog-mic input |
87 | laptop-dmic Laptops with digital-mic input | 66 | laptop-dmic Laptops with digital-mic input |
88 | fujitsu FSC Amilo | ||
89 | lifebook Fujitsu Lifebook S6420 | ||
90 | auto auto-config reading BIOS (default) | ||
91 | 67 | ||
92 | ALC662/663/272 | 68 | ALC662/663/272 |
93 | ============== | 69 | ============== |
94 | 3stack-dig 3-stack (2-channel) with SPDIF | ||
95 | 3stack-6ch 3-stack (6-channel) | ||
96 | 3stack-6ch-dig 3-stack (6-channel) with SPDIF | ||
97 | 5stack-dig 5-stack with SPDIF | ||
98 | lenovo-101e Lenovo laptop | ||
99 | eeepc-p701 ASUS Eeepc P701 | ||
100 | eeepc-ep20 ASUS Eeepc EP20 | ||
101 | ecs ECS/Foxconn mobo | ||
102 | m51va ASUS M51VA | ||
103 | g71v ASUS G71V | ||
104 | h13 ASUS H13 | ||
105 | g50v ASUS G50V | ||
106 | asus-mode1 ASUS | 70 | asus-mode1 ASUS |
107 | asus-mode2 ASUS | 71 | asus-mode2 ASUS |
108 | asus-mode3 ASUS | 72 | asus-mode3 ASUS |
@@ -111,15 +75,10 @@ ALC662/663/272 | |||
111 | asus-mode6 ASUS | 75 | asus-mode6 ASUS |
112 | asus-mode7 ASUS | 76 | asus-mode7 ASUS |
113 | asus-mode8 ASUS | 77 | asus-mode8 ASUS |
114 | dell Dell with ALC272 | ||
115 | dell-zm1 Dell ZM1 with ALC272 | ||
116 | samsung-nc10 Samsung NC10 mini notebook | ||
117 | auto auto-config reading BIOS (default) | ||
118 | 78 | ||
119 | ALC680 | 79 | ALC680 |
120 | ====== | 80 | ====== |
121 | base Base model (ASUS NX90) | 81 | N/A |
122 | auto auto-config reading BIOS (default) | ||
123 | 82 | ||
124 | ALC882/883/885/888/889 | 83 | ALC882/883/885/888/889 |
125 | ====================== | 84 | ====================== |
@@ -175,28 +134,11 @@ ALC882/883/885/888/889 | |||
175 | 134 | ||
176 | ALC861/660 | 135 | ALC861/660 |
177 | ========== | 136 | ========== |
178 | 3stack 3-jack | 137 | N/A |
179 | 3stack-dig 3-jack with SPDIF I/O | ||
180 | 6stack-dig 6-jack with SPDIF I/O | ||
181 | 3stack-660 3-jack (for ALC660) | ||
182 | uniwill-m31 Uniwill M31 laptop | ||
183 | toshiba Toshiba laptop support | ||
184 | asus Asus laptop support | ||
185 | asus-laptop ASUS F2/F3 laptops | ||
186 | auto auto-config reading BIOS (default) | ||
187 | 138 | ||
188 | ALC861VD/660VD | 139 | ALC861VD/660VD |
189 | ============== | 140 | ============== |
190 | 3stack 3-jack | 141 | N/A |
191 | 3stack-dig 3-jack with SPDIF OUT | ||
192 | 6stack-dig 6-jack with SPDIF OUT | ||
193 | 3stack-660 3-jack (for ALC660VD) | ||
194 | 3stack-660-digout 3-jack with SPDIF OUT (for ALC660VD) | ||
195 | lenovo Lenovo 3000 C200 | ||
196 | dallas Dallas laptops | ||
197 | hp HP TX1000 | ||
198 | asus-v1s ASUS V1Sn | ||
199 | auto auto-config reading BIOS (default) | ||
200 | 142 | ||
201 | CMI9880 | 143 | CMI9880 |
202 | ======= | 144 | ======= |
@@ -289,7 +231,6 @@ Conexant 5051 | |||
289 | hp-dv6736 HP dv6736 | 231 | hp-dv6736 HP dv6736 |
290 | hp-f700 HP Compaq Presario F700 | 232 | hp-f700 HP Compaq Presario F700 |
291 | ideapad Lenovo IdeaPad laptop | 233 | ideapad Lenovo IdeaPad laptop |
292 | lenovo-x200 Lenovo X200 laptop | ||
293 | toshiba Toshiba Satellite M300 | 234 | toshiba Toshiba Satellite M300 |
294 | 235 | ||
295 | Conexant 5066 | 236 | Conexant 5066 |
diff --git a/Documentation/sound/alsa/HD-Audio.txt b/Documentation/sound/alsa/HD-Audio.txt index c82beb007634..03e2771ddeef 100644 --- a/Documentation/sound/alsa/HD-Audio.txt +++ b/Documentation/sound/alsa/HD-Audio.txt | |||
@@ -447,7 +447,10 @@ The file needs to have a line `[codec]`. The next line should contain | |||
447 | three numbers indicating the codec vendor-id (0x12345678 in the | 447 | three numbers indicating the codec vendor-id (0x12345678 in the |
448 | example), the codec subsystem-id (0xabcd1234) and the address (2) of | 448 | example), the codec subsystem-id (0xabcd1234) and the address (2) of |
449 | the codec. The rest patch entries are applied to this specified codec | 449 | the codec. The rest patch entries are applied to this specified codec |
450 | until another codec entry is given. | 450 | until another codec entry is given. Passing 0 or a negative number to |
451 | the first or the second value will make the check of the corresponding | ||
452 | field be skipped. It'll be useful for really broken devices that don't | ||
453 | initialize SSID properly. | ||
451 | 454 | ||
452 | The `[model]` line allows to change the model name of the each codec. | 455 | The `[model]` line allows to change the model name of the each codec. |
453 | In the example above, it will be changed to model=auto. | 456 | In the example above, it will be changed to model=auto. |
@@ -491,7 +494,7 @@ Also, the codec chip name can be rewritten via `[chip_name]` line. | |||
491 | The hd-audio driver reads the file via request_firmware(). Thus, | 494 | The hd-audio driver reads the file via request_firmware(). Thus, |
492 | a patch file has to be located on the appropriate firmware path, | 495 | a patch file has to be located on the appropriate firmware path, |
493 | typically, /lib/firmware. For example, when you pass the option | 496 | typically, /lib/firmware. For example, when you pass the option |
494 | `patch=hda-init.fw`, the file /lib/firmware/hda-init-fw must be | 497 | `patch=hda-init.fw`, the file /lib/firmware/hda-init.fw must be |
495 | present. | 498 | present. |
496 | 499 | ||
497 | The patch module option is specific to each card instance, and you | 500 | The patch module option is specific to each card instance, and you |
@@ -524,6 +527,54 @@ power-saving. See /sys/module/snd_hda_intel/parameters/power_save to | |||
524 | check the current value. If it's non-zero, the feature is turned on. | 527 | check the current value. If it's non-zero, the feature is turned on. |
525 | 528 | ||
526 | 529 | ||
530 | Tracepoints | ||
531 | ~~~~~~~~~~~ | ||
532 | The hd-audio driver gives a few basic tracepoints. | ||
533 | `hda:hda_send_cmd` traces each CORB write while `hda:hda_get_response` | ||
534 | traces the response from RIRB (only when read from the codec driver). | ||
535 | `hda:hda_bus_reset` traces the bus-reset due to fatal error, etc, | ||
536 | `hda:hda_unsol_event` traces the unsolicited events, and | ||
537 | `hda:hda_power_down` and `hda:hda_power_up` trace the power down/up | ||
538 | via power-saving behavior. | ||
539 | |||
540 | Enabling all tracepoints can be done like | ||
541 | ------------------------------------------------------------------------ | ||
542 | # echo 1 > /sys/kernel/debug/tracing/events/hda/enable | ||
543 | ------------------------------------------------------------------------ | ||
544 | then after some commands, you can traces from | ||
545 | /sys/kernel/debug/tracing/trace file. For example, when you want to | ||
546 | trace what codec command is sent, enable the tracepoint like: | ||
547 | ------------------------------------------------------------------------ | ||
548 | # cat /sys/kernel/debug/tracing/trace | ||
549 | # tracer: nop | ||
550 | # | ||
551 | # TASK-PID CPU# TIMESTAMP FUNCTION | ||
552 | # | | | | | | ||
553 | <...>-7807 [002] 105147.774889: hda_send_cmd: [0:0] val=e3a019 | ||
554 | <...>-7807 [002] 105147.774893: hda_send_cmd: [0:0] val=e39019 | ||
555 | <...>-7807 [002] 105147.999542: hda_send_cmd: [0:0] val=e3a01a | ||
556 | <...>-7807 [002] 105147.999543: hda_send_cmd: [0:0] val=e3901a | ||
557 | <...>-26764 [001] 349222.837143: hda_send_cmd: [0:0] val=e3a019 | ||
558 | <...>-26764 [001] 349222.837148: hda_send_cmd: [0:0] val=e39019 | ||
559 | <...>-26764 [001] 349223.058539: hda_send_cmd: [0:0] val=e3a01a | ||
560 | <...>-26764 [001] 349223.058541: hda_send_cmd: [0:0] val=e3901a | ||
561 | ------------------------------------------------------------------------ | ||
562 | Here `[0:0]` indicates the card number and the codec address, and | ||
563 | `val` shows the value sent to the codec, respectively. The value is | ||
564 | a packed value, and you can decode it via hda-decode-verb program | ||
565 | included in hda-emu package below. For example, the value e3a019 is | ||
566 | to set the left output-amp value to 25. | ||
567 | ------------------------------------------------------------------------ | ||
568 | % hda-decode-verb 0xe3a019 | ||
569 | raw value = 0x00e3a019 | ||
570 | cid = 0, nid = 0x0e, verb = 0x3a0, parm = 0x19 | ||
571 | raw value: verb = 0x3a0, parm = 0x19 | ||
572 | verbname = set_amp_gain_mute | ||
573 | amp raw val = 0xa019 | ||
574 | output, left, idx=0, mute=0, val=25 | ||
575 | ------------------------------------------------------------------------ | ||
576 | |||
577 | |||
527 | Development Tree | 578 | Development Tree |
528 | ~~~~~~~~~~~~~~~~ | 579 | ~~~~~~~~~~~~~~~~ |
529 | The latest development codes for HD-audio are found on sound git tree: | 580 | The latest development codes for HD-audio are found on sound git tree: |