29 Oct, 2011
1 commit
-
* '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
...
27 Oct, 2011
9 commits
-
It seems that Conexant CX20549 chip handle only a single input-amp even
though the audio-input widget has multiple sources. This has been never
clear, and I implemented in the current way based on the debug information
I got at the early time -- the device reacts individual input-amp values
for different sources. This is true for another Conexant codec, but it's
not applied to CX20549 actually.This patch changes the auto-parser code to handle a single input-amp
per audio-in widget for CX20549. After applying this, you'll see only a
single "Capture" volume control instead of separate "Mic" or "Line"
captures when the device is set up to use a single ADC.We haven't tested 20551 and 20561 codecs yet. If these show the similar
behavior like 20549, they need to set spec->single_adc_amp=1, too.Cc:
Signed-off-by: Takashi Iwai -
In the old Conexant chips (5045, 5047, 5051 and 5066), a single EAPD
may handle both headphone and speaker outputs while it's assigned only
to one of them. Turning off dynamically leads to the unexpected silent
output in such a configuration with the auto-mute function.Since it's difficult to know how the EAPD is handled in the actual h/w
implementation, better to keep EAPD on while running for such codecs.Cc:
Signed-off-by: Takashi Iwai -
ALC260 has multiple mixer widgets connected to the shared DAC, but the
driver currently doesn't check this possibility and ignores when the DAC
is shared with others. This resulted in the silent output from some
routes because of lack of the amp setup.This patch adds the workaround for it by checking the route even with the
shared DAC, but also checking the conflict with the existing control for
the very same widget NID.Reference: https://bugzilla.novell.com/show_bug.cgi?id=726812
Signed-off-by: Takashi Iwai
-
Reported-by: Chris Paulson-Ellis
Signed-off-by: Axel Lin
Signed-off-by: Mark Brown
Cc: stable@vger.kernel.org -
The association numbers of surround/CLFE speaker pins aren't correctly
mapped by the auto-parser. This patch fixes the CLFE speaker pin to the
right assoc value (from 3 to 1).Tested-by: Nika Topolchanskaya
Signed-off-by: Takashi Iwai
26 Oct, 2011
1 commit
-
When 5.1 or more headphone or speaker pins are provided, the parser still
takes as is without fixing the order of channel mapping, which leads in
the unexpected strange channel order by surround outputs.This patch fixes the issue by applying the same fix-up not only to
line_out_pins[] but also hp_pins[] and speaker_pins[].Signed-off-by: Takashi Iwai
25 Oct, 2011
2 commits
-
* 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (63 commits)
PM / Clocks: Remove redundant NULL checks before kfree()
PM / Documentation: Update docs about suspend and CPU hotplug
ACPI / PM: Add Sony VGN-FW21E to nonvs blacklist.
ARM: mach-shmobile: sh7372 A4R support (v4)
ARM: mach-shmobile: sh7372 A3SP support (v4)
PM / Sleep: Mark devices involved in wakeup signaling during suspend
PM / Hibernate: Improve performance of LZO/plain hibernation, checksum image
PM / Hibernate: Do not initialize static and extern variables to 0
PM / Freezer: Make fake_signal_wake_up() wake TASK_KILLABLE tasks too
PM / Hibernate: Add resumedelay kernel param in addition to resumewait
MAINTAINERS: Update linux-pm list address
PM / ACPI: Blacklist Vaio VGN-FW520F machine known to require acpi_sleep=nonvs
PM / ACPI: Blacklist Sony Vaio known to require acpi_sleep=nonvs
PM / Hibernate: Add resumewait param to support MMC-like devices as resume file
PM / Hibernate: Fix typo in a kerneldoc comment
PM / Hibernate: Freeze kernel threads after preallocating memory
PM: Update the policy on default wakeup settings
PM / VT: Cleanup #if defined uglyness and fix compile error
PM / Suspend: Off by one in pm_suspend()
PM / Hibernate: Include storage keys in hibernation image on s390
... -
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (59 commits)
MAINTAINERS: linux-m32r is moderated for non-subscribers
linux@lists.openrisc.net is moderated for non-subscribers
Drop default from "DM365 codec select" choice
parisc: Kconfig: cleanup Kernel page size default
Kconfig: remove redundant CONFIG_ prefix on two symbols
cris: remove arch/cris/arch-v32/lib/nand_init.S
microblaze: add missing CONFIG_ prefixes
h8300: drop puzzling Kconfig dependencies
MAINTAINERS: microblaze-uclinux@itee.uq.edu.au is moderated for non-subscribers
tty: drop superfluous dependency in Kconfig
ARM: mxc: fix Kconfig typo 'i.MX51'
Fix file references in Kconfig files
aic7xxx: fix Kconfig references to READMEs
Fix file references in drivers/ide/
thinkpad_acpi: Fix printk typo 'bluestooth'
bcmring: drop commented out line in Kconfig
btmrvl_sdio: fix typo 'btmrvl_sdio_sd6888'
doc: raw1394: Trivial typo fix
CIFS: Don't free volume_info->UNC until we are entirely done with it.
treewide: Correct spelling of successfully in comments
...
24 Oct, 2011
1 commit
-
The revision 0x100300 was found for ALC662. It seems to work well
with patch_alc662.Cc: stable@kernel.org
BugLink: http://bugs.launchpad.net/bugs/877373
Tested-by: Shengyao Xue
Signed-off-by: David Henningsson
Acked-by: Kailang Yang
Signed-off-by: Takashi Iwai
22 Oct, 2011
6 commits
-
codec->hw_write is broken now, convert codec->hw_write to snd_soc_write.
The hardware has 2 banks of registers sharing a section in I2C register space.
The 1st bank is the primary one and is cached.
The 2nd bank is for loading coefficients only and they do not need cache.
These coefficients registers are therefore direct writes.
Thus we set cache_bypass flag to deal with this before calling snd_soc_write.Signed-off-by: Axel Lin
Acked-by: Liam Girdwood
Signed-off-by: Mark Brown -
Add a new variable for storing resources accessed subsequent to the one
accessed using request_mem_region, so the one accessed using
request_mem_region can be released if needed.The resource variable names are also changed to be more descriptive.
This code is also missing some calls to iounmap.
The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)//
@r@
expression E, E1;
identifier f;
statement S1,S2,S3;
@@if (E == NULL)
{
... when != if (E == NULL || ...) S1 else S2
when != E = E1
*E->f
... when any
return ...;
}
else S3
//Signed-off-by: Julia Lawall
Signed-off-by: Mark Brown -
Ensure all mask bits are clear before setting new value.
Signed-off-by: Axel Lin
Acked-by: Dong Aisheng
Acked-by: Liam Girdwood
Signed-off-by: Mark Brown -
Signed-off-by: Axel Lin
Acked-by: Liam Girdwood
Signed-off-by: Mark Brown
Cc: stable@kernel.org -
DA7210 has three line outputs. OUT1 Left, OUT1 Right and OUT2 (mono).
This patch adds support for gain controls for these three line outs.
It also adds support for overall DAC gain control.Signed-off-by: Ashish Chavan
Signed-off-by: David Dajun Chen
Acked-by: Liam Girdwood
Signed-off-by: Mark Brown -
This patch adds support for DAPM covering all inputs and outputs
as well as ADC and DAC.Signed-off-by: Ashish Chavan
Signed-off-by: David Dajun Chen
Acked-by: Liam Girdwood
Signed-off-by: Mark Brown
21 Oct, 2011
4 commits
-
* 'fix/hda' of git://github.com/tiwai/sound:
ALSA: HDA: conexant support for Lenovo T520/W520
ALSA: hda - Add position_fix quirk for Dell Inspiron 1010 -
When a device has multiple speakers and still has the auto-mute support,
the driver copies line_outs[] to speaker_outs[]. And then it tries to
assign DACs for both. This ended up with the assignment only to the
primary DAC to all speakers.This patch fixes the situation by checking the duplicated LO/SPK case
appropriately.Signed-off-by: Takashi Iwai
-
We have defined SGTL5000_LINREG_VDDD_MASK in sgtl5000.h,
use it instead of hardcoded (0x1 << 4) - 1 for the mask.Signed-off-by: Axel Lin
Acked-by: Wolfram Sang
Acked-by: Liam Girdwood
Signed-off-by: Mark Brown -
Otherwise calling ldo_regulator_remove() does not unregister regulator
and free memories.Signed-off-by: Axel Lin
Acked-by: Wolfram Sang
Acked-by: Liam Girdwood
Signed-off-by: Mark Brown
20 Oct, 2011
10 commits
-
Signed-off-by: Axel Lin
Acked-by: Liam Girdwood
Signed-off-by: Mark Brown
Cc: stable@kernel.org -
Signed-off-by: Axel Lin
Acked-by: Liam Girdwood
Signed-off-by: Mark Brown
Cc: stable@kernel.org -
Signed-off-by: Axel Lin
Acked-by: Liam Girdwood
Signed-off-by: Mark Brown -
Use snd_soc_update_bits for read-modify-write register access instead of
open-coding it using snd_soc_read and snd_soc_writeSigned-off-by: Axel Lin
Acked-by: Liam Girdwood
Signed-off-by: Mark Brown -
According to the register map in datasheet, the registers are 8 bit.
Signed-off-by: Axel Lin
Acked-by: Liam Girdwood
Signed-off-by: Mark Brown -
According to the datasheet:
BIT 2:1
VMID_SEL[1:0] VMID Divider Enable and Select
00 = VMID disabled
01 = 2x40k Omh divider
10 = 2x240k Omh divider
11 = 2x5k Omh dividerTo set VMID 2*240k, we should OR reg with 0x04 instead of 0x40.
Signed-off-by: Axel Lin
Acked-by: Liam Girdwood
Signed-off-by: Mark Brown -
Signed-off-by: Axel Lin
Acked-by: Liam Girdwood
Signed-off-by: Mark Brown -
This patch adds controls to set following ALC parameters,
- Max gain, Min gain, Noise gain, Attack rate, Release rate and delayIt also adds a switch to enable/disable noise suppression.
As per DA7210 data sheet, ALC and noise suppression can be enabled
only if certain conditions are met. This condition checks are handled
by simply using "_EXT" version of controls to capture change events.Signed-off-by: Ashish Chavan
Signed-off-by: David Dajun Chen
Acked-by: Liam Girdwod
Signed-off-by: Mark Brown -
This patch adds support for below set of controls,
(1) Mute controls for MIC, AUX and ADC
(2) Zero cross controls for head phone, AUX, INPGA and line out
(3) Head phone mode selection - class H or GIt also adds digital_mute() call back.
Signed-off-by: Ashish Chavan
Signed-off-by: David Dajun Chen
Acked-by: Liam Girdwood
Signed-off-by: Mark Brown -
Signed-off-by: Axel Lin
Acked-by: Liam Girdwood
Signed-off-by: Mark Brown
19 Oct, 2011
6 commits
-
Use snd_soc_update_bits for read-modify-write register access instead of
open-coding it using snd_soc_read and snd_soc_writeSigned-off-by: Axel Lin
Acked-by: Lars-Peter Clausen
Acked-by: Liam Girdwood
Signed-off-by: Mark Brown -
Not that we have interrupt handling in the driver at the minute.
Signed-off-by: Mark Brown
Acked-by: Liam Girdwood -
According to the datasheet:
CHIP_MIC_CTRL 0x002ABITS[9:8] BIAS_RESISTOR
0x0 = Powerd off
0x1 = 2.0 kohm
0x2 = 4.0 kohm
0x3 = 8.0 kohmTo set mic bias resistor, we need to update bits[9:8] of
SGTL5000_CHIP_MIC_CTRL register.Signed-off-by: Axel Lin
Acked-by: Wolfram Sang
Acked-by: Liam Girdwood
Signed-off-by: Mark Brown -
According to the datasheet:
CHIP_MIC_CTRL 0x002ABITS[9:8] BIAS_RESISTOR
0x0 = Powerd off
0x1 = 2.0 kohm
0x2 = 4.0 kohm
0x3 = 8.0 kohmThus SGTL5000_BIAS_R_MASK should be defined as 0x0300 instead of 0x0200.
Signed-off-by: Axel Lin
Acked-by: Wolfram Sang
Acked-by: Liam Girdwood
Signed-off-by: Mark Brown -
Use snd_soc_update_bits for read-modify-write register access instead of
open-coding it using snd_soc_read and snd_soc_writeSigned-off-by: Axel Lin
Acked-by: Lars-Peter Clausen
Acked-by: Barry Song
Acked-by: Liam Girdwood
Signed-off-by: Mark Brown