Skip to content

Commit 68d99b2

Browse files
committed
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 ...
2 parents 0e59e7e + 8128c9f commit 68d99b2

File tree

389 files changed

+25743
-12185
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

389 files changed

+25743
-12185
lines changed

Documentation/DocBook/writing-an-alsa-driver.tmpl

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4288,7 +4288,7 @@ struct _snd_pcm_runtime {
42884288
<![CDATA[
42894289
struct snd_rawmidi *rmidi;
42904290
snd_mpu401_uart_new(card, 0, MPU401_HW_MPU401, port, info_flags,
4291-
irq, irq_flags, &rmidi);
4291+
irq, &rmidi);
42924292
]]>
42934293
</programlisting>
42944294
</informalexample>
@@ -4343,6 +4343,13 @@ struct _snd_pcm_runtime {
43434343
by itself to start processing the output stream in the irq handler.
43444344
</para>
43454345

4346+
<para>
4347+
If the MPU-401 interface shares its interrupt with the other logical
4348+
devices on the card, set <constant>MPU401_INFO_IRQ_HOOK</constant>
4349+
(see <link linkend="midi-interface-interrupt-handler"><citetitle>
4350+
below</citetitle></link>).
4351+
</para>
4352+
43464353
<para>
43474354
Usually, the port address corresponds to the command port and
43484355
port + 1 corresponds to the data port. If not, you may change
@@ -4375,27 +4382,26 @@ struct _snd_pcm_runtime {
43754382
</para>
43764383

43774384
<para>
4378-
The 6th argument specifies the irq number for UART. If the irq
4379-
is already allocated, pass 0 to the 7th argument
4380-
(<parameter>irq_flags</parameter>). Otherwise, pass the flags
4381-
for irq allocation
4382-
(<constant>SA_XXX</constant> bits) to it, and the irq will be
4383-
reserved by the mpu401-uart layer. If the card doesn't generate
4384-
UART interrupts, pass -1 as the irq number. Then a timer
4385-
interrupt will be invoked for polling.
4385+
The 6th argument specifies the ISA irq number that will be
4386+
allocated. If no interrupt is to be allocated (because your
4387+
code is already allocating a shared interrupt, or because the
4388+
device does not use interrupts), pass -1 instead.
4389+
For a MPU-401 device without an interrupt, a polling timer
4390+
will be used instead.
43864391
</para>
43874392
</section>
43884393

43894394
<section id="midi-interface-interrupt-handler">
43904395
<title>Interrupt Handler</title>
43914396
<para>
43924397
When the interrupt is allocated in
4393-
<function>snd_mpu401_uart_new()</function>, the private
4394-
interrupt handler is used, hence you don't have anything else to do
4395-
than creating the mpu401 stuff. Otherwise, you have to call
4396-
<function>snd_mpu401_uart_interrupt()</function> explicitly when
4397-
a UART interrupt is invoked and checked in your own interrupt
4398-
handler.
4398+
<function>snd_mpu401_uart_new()</function>, an exclusive ISA
4399+
interrupt handler is automatically used, hence you don't have
4400+
anything else to do than creating the mpu401 stuff. Otherwise, you
4401+
have to set <constant>MPU401_INFO_IRQ_HOOK</constant>, and call
4402+
<function>snd_mpu401_uart_interrupt()</function> explicitly from your
4403+
own interrupt handler when it has determined that a UART interrupt
4404+
has occurred.
43994405
</para>
44004406

44014407
<para>
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
* Freescale SGTL5000 Stereo Codec
2+
3+
Required properties:
4+
- compatible : "fsl,sgtl5000".
5+
6+
Example:
7+
8+
codec: sgtl5000@0a {
9+
compatible = "fsl,sgtl5000";
10+
reg = <0x0a>;
11+
};
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
WM8510 audio CODEC
2+
3+
This device supports both I2C and SPI (configured with pin strapping
4+
on the board).
5+
6+
Required properties:
7+
8+
- compatible : "wlf,wm8510"
9+
10+
- reg : the I2C address of the device for I2C, the chip select
11+
number for SPI.
12+
13+
Example:
14+
15+
codec: wm8510@1a {
16+
compatible = "wlf,wm8510";
17+
reg = <0x1a>;
18+
};
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
WM8523 audio CODEC
2+
3+
This device supports I2C only.
4+
5+
Required properties:
6+
7+
- compatible : "wlf,wm8523"
8+
9+
- reg : the I2C address of the device.
10+
11+
Example:
12+
13+
codec: wm8523@1a {
14+
compatible = "wlf,wm8523";
15+
reg = <0x1a>;
16+
};
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
WM8580 audio CODEC
2+
3+
This device supports I2C only.
4+
5+
Required properties:
6+
7+
- compatible : "wlf,wm8580"
8+
9+
- reg : the I2C address of the device.
10+
11+
Example:
12+
13+
codec: wm8580@1a {
14+
compatible = "wlf,wm8580";
15+
reg = <0x1a>;
16+
};
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
WM8711 audio CODEC
2+
3+
This device supports both I2C and SPI (configured with pin strapping
4+
on the board).
5+
6+
Required properties:
7+
8+
- compatible : "wlf,wm8711"
9+
10+
- reg : the I2C address of the device for I2C, the chip select
11+
number for SPI.
12+
13+
Example:
14+
15+
codec: wm8711@1a {
16+
compatible = "wlf,wm8711";
17+
reg = <0x1a>;
18+
};
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
WM8728 audio CODEC
2+
3+
This device supports both I2C and SPI (configured with pin strapping
4+
on the board).
5+
6+
Required properties:
7+
8+
- compatible : "wlf,wm8728"
9+
10+
- reg : the I2C address of the device for I2C, the chip select
11+
number for SPI.
12+
13+
Example:
14+
15+
codec: wm8728@1a {
16+
compatible = "wlf,wm8728";
17+
reg = <0x1a>;
18+
};
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
WM8731 audio CODEC
2+
3+
This device supports both I2C and SPI (configured with pin strapping
4+
on the board).
5+
6+
Required properties:
7+
8+
- compatible : "wlf,wm8731"
9+
10+
- reg : the I2C address of the device for I2C, the chip select
11+
number for SPI.
12+
13+
Example:
14+
15+
codec: wm8731@1a {
16+
compatible = "wlf,wm8731";
17+
reg = <0x1a>;
18+
};
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
WM8737 audio CODEC
2+
3+
This device supports both I2C and SPI (configured with pin strapping
4+
on the board).
5+
6+
Required properties:
7+
8+
- compatible : "wlf,wm8737"
9+
10+
- reg : the I2C address of the device for I2C, the chip select
11+
number for SPI.
12+
13+
Example:
14+
15+
codec: wm8737@1a {
16+
compatible = "wlf,wm8737";
17+
reg = <0x1a>;
18+
};
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
WM8741 audio CODEC
2+
3+
This device supports both I2C and SPI (configured with pin strapping
4+
on the board).
5+
6+
Required properties:
7+
8+
- compatible : "wlf,wm8741"
9+
10+
- reg : the I2C address of the device for I2C, the chip select
11+
number for SPI.
12+
13+
Example:
14+
15+
codec: wm8741@1a {
16+
compatible = "wlf,wm8741";
17+
reg = <0x1a>;
18+
};
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
WM8750 and WM8987 audio CODECs
2+
3+
These devices support both I2C and SPI (configured with pin strapping
4+
on the board).
5+
6+
Required properties:
7+
8+
- compatible : "wlf,wm8750" or "wlf,wm8987"
9+
10+
- reg : the I2C address of the device for I2C, the chip select
11+
number for SPI.
12+
13+
Example:
14+
15+
codec: wm8750@1a {
16+
compatible = "wlf,wm8750";
17+
reg = <0x1a>;
18+
};
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
WM8753 audio CODEC
2+
3+
This device supports both I2C and SPI (configured with pin strapping
4+
on the board).
5+
6+
Required properties:
7+
8+
- compatible : "wlf,wm8753"
9+
10+
- reg : the I2C address of the device for I2C, the chip select
11+
number for SPI.
12+
13+
Example:
14+
15+
codec: wm8737@1a {
16+
compatible = "wlf,wm8753";
17+
reg = <0x1a>;
18+
};
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
WM8770 audio CODEC
2+
3+
This device supports SPI.
4+
5+
Required properties:
6+
7+
- compatible : "wlf,wm8770"
8+
9+
- reg : the chip select number.
10+
11+
Example:
12+
13+
codec: wm8770@1 {
14+
compatible = "wlf,wm8770";
15+
reg = <1>;
16+
};
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
WM8776 audio CODEC
2+
3+
This device supports both I2C and SPI (configured with pin strapping
4+
on the board).
5+
6+
Required properties:
7+
8+
- compatible : "wlf,wm8776"
9+
10+
- reg : the I2C address of the device for I2C, the chip select
11+
number for SPI.
12+
13+
Example:
14+
15+
codec: wm8776@1a {
16+
compatible = "wlf,wm8776";
17+
reg = <0x1a>;
18+
};
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
WM8804 audio CODEC
2+
3+
This device supports both I2C and SPI (configured with pin strapping
4+
on the board).
5+
6+
Required properties:
7+
8+
- compatible : "wlf,wm8804"
9+
10+
- reg : the I2C address of the device for I2C, the chip select
11+
number for SPI.
12+
13+
Example:
14+
15+
codec: wm8804@1a {
16+
compatible = "wlf,wm8804";
17+
reg = <0x1a>;
18+
};

Documentation/sound/alsa/ALSA-Configuration.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -886,6 +886,12 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
886886
disable)
887887
power_save_controller - Reset HD-audio controller in power-saving mode
888888
(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)
889895

890896
This module supports multiple cards and autoprobe.
891897

Documentation/sound/alsa/HD-Audio-Controls.txt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,3 +98,19 @@ Conexant codecs
9898

9999
* Auto-Mute Mode
100100
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.

0 commit comments

Comments
 (0)